Thanks for the email... Brilliant idea, but it does not give 0 for rows without a project for a year. It gives 1 for these rows.
As a test idea, I removed the group by and count, and instead of count outputted the start and end year. What that gave me was say for 1953 where there was 3 projects, 3 lines with the start and end year for those projects. But for a year without a project gives start and end year as null. e.g. (not true examle) year startyear endyear 1901 NULL NULL .... 1953 1952 1954 1953 1951 1956 1953 1950 1980 .... I suppose I need to do a where to remove null values, but I cant work out where it goes! Thanks, ;-) Steve XX > Sounds to me like you'll need to join for that -- and list all the years you > are interested in in another table. Try this? > > SELECT y.Year, count(*) FROM Year as y LEFT JOIN projects ON > project.startyear<=y.Year AND project.endyear>=y.Year GROUP BY y.Year; > > This will give you a count of 0 for any years without a project (Almost 100% > certain =] ). But don't blame me if the query is grossly inefficient! > > Nick Elliott > > ----- Original Message ----- > From: "Steve Vernon" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Tuesday, December 31, 2002 10:44 AM > Subject: Re: Year Lists > > > > Martin, > > Thanks for the reply. > > > > Good plan but at the moment my query is like (had to alter it slightly > > as it was in PHP and multiple lines, so dont take it as working). > > > > SELECT projects.name, project.endyear, project.startyear FROM projects > WHERE > > projects.startyear <= '(INPUT THE YEAR HERE) && (projects.leaveyear >= > > '(YEAR HERE AS WELL)' || projects.leaveyear = '0000' ) LIMIT 5000 > > > > What you suggest basically will give a count on start year (or end > year > > if altered), which I have implemented and working for ended year. Say a > > project started in 1920 and another in 1921 and they both finish in 1925. > I > > would expect to get this: > > > > 1920 1 Project > > 1921 2 Projects > > 1922 2 Projects > > 1923 2 Projects > > 1924 2 Projects > > 1925 2 Projects > > 1926 0 Projects (or no line at all ideally). > > .... up to 2003 > > > > > > > > Ideally if a year does not have any projects it would not be listed. > > > > Any more help would be great, or I could be wrong and you could have > the > > answer! > > > > Steve > > > > > > > > > On Tue, 2002-12-31 at 14:53, Steve Vernon wrote: > > > > Hiya, > > > > I have a database about projects in a company, they all have a > start > > > > year and end year. If the projects have not ended then they get a end > > year > > > > of 0000. I have made a SQL command, given a year, works out with > > projects > > > > are running in that year. > > > > > > > > The company I am doing this for, wants basically a drop down box > > which > > > > says (1950- 8 Projects) and such like. Now with the current command I > > have > > > > it would mean 92or so SQL commands as the company has records back to > > 1910. > > > > > > > > Is there a way to do this in one command? I have searched all the > > > > mannual and I can work out something similair to a for loop in SQL. > > Would > > > > variables help? > > > > > > > > > > Hi Steve, > > > > > > You want to use "select .... group by", something like: > > > > > > select start_year, count(*) from projects group by start_year; > > > > > > > > > == > > > Martin > > > > > > > > > --------------------------------------------------------------------- > > > Before posting, please check: > > > http://www.mysql.com/manual.php (the manual) > > > http://lists.mysql.com/ (the list archive) > > > > > > To request this thread, e-mail <[EMAIL PROTECTED]> > > > To unsubscribe, e-mail > > <[EMAIL PROTECTED]> > > > Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php > > > > > > > > > --------------------------------------------------------------------- > > Before posting, please check: > > http://www.mysql.com/manual.php (the manual) > > http://lists.mysql.com/ (the list archive) > > > > To request this thread, e-mail <[EMAIL PROTECTED]> > > To unsubscribe, e-mail > <[EMAIL PROTECTED]> > > Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php > > > --------------------------------------------------------------------- > Before posting, please check: > http://www.mysql.com/manual.php (the manual) > http://lists.mysql.com/ (the list archive) > > To request this thread, e-mail <[EMAIL PROTECTED]> > To unsubscribe, e-mail <[EMAIL PROTECTED]> > Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php > --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php