Re: Thanks and SQL Syntax help

2003-01-13 Thread Diana Soares
I don't know if i understood you very well, but here's a try..

mysql select * from Classes;
++-+
| ID | Name|
++-+
|  1 | XO-312  |
|  2 | PA-211a |
|  3 | XUL-001 |
++-+
3 rows in set (0.00 sec)

mysql select * from Workshops order by ClassID,Date;
++-++
| ID | ClassID | Date   |
++-++
|  1 |   1 | 2002-05-15 |
|  8 |   1 | 2002-09-22 |
|  7 |   1 | 2002-10-29 |
|  2 |   1 | 2003-02-20 |
|  3 |   2 | 2002-05-15 |
|  9 |   2 | 2003-01-01 |
|  4 |   2 | 2003-02-17 |
|  5 |   3 | 2002-05-15 |
| 10 |   3 | 2002-12-16 |
|  6 |   3 | 2003-01-01 |
++-++
10 rows in set (0.00 sec)

mysql select ClassID, MIN(Date) min, MAX(Date) max, Classes.Name
- FROM Workshops LEFT JOIN Classes ON (ClassID=Classes.ID)
- GROUP BY ClassID HAVING now() BETWEEN min and max;
+-+++-+
| ClassID | min| max| Name|
+-+++-+
|   1 | 2002-05-15 | 2003-02-20 | XO-312  |
|   2 | 2002-05-15 | 2003-02-17 | PA-211a |
+-+++-+
2 rows in set (0.00 sec)

Hope this helps...

On Sat, 2003-01-11 at 16:25, Steve Lefevre wrote:
 First of, thanks to all who replied to my questions earlier!
 
 Now I have another problem. I have a table of Classes and Workshops. Each
 Class has a number of workshops. Each workshop has a date.
 
 I have a query that gives me the date range of a class - the min and max
 dates of its workshops.
 
 select ClassID, MIN(Date), MAX(Date), Classes.Name FROM Workshops LEFT JOIN
 Classes ON ClassID=Classes.ID GROUP BY ClassID;
 
 gives me:
 
 +-+++-+
 | ClassID | MIN(Date)  | MAX(Date)  | Name|
 +-+++-+
 |  56 | 2002-05-15 | 2002-12-29 | XO-312  |
 | 408 | 2002-05-15 | 2002-05-17 | PA-211a |
 | 600 | 2002-05-15 | 2002-05-16 | XUL-001 |
 +-+++-+
 3 rows in set (0.00 sec)
 
 Now I want to get *active* classes - WHERE Now() Between MIN(Date) and
 Max(Date) -- but I can't figure out where to put the friggin clause. I get
 errors all over the place. Can I use the between function with a group by
 function?
 
 select ClassID, MIN(Date), MAX(Date), Classes.Name
  FROM Workshops
  LEFT JOIN Classes ON ClassID=Classes.ID
  WHERE Now() BETWEEN MIN(Date) and MAX(Date)
  GROUP BY ClassID;
 
 What am I doing wrong?
 
 
 
 -
 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
 
-- 
Diana Soares


-
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




Thanks and SQL Syntax help

2003-01-11 Thread Steve Lefevre
First of, thanks to all who replied to my questions earlier!

Now I have another problem. I have a table of Classes and Workshops. Each
Class has a number of workshops. Each workshop has a date.

I have a query that gives me the date range of a class - the min and max
dates of its workshops.

select ClassID, MIN(Date), MAX(Date), Classes.Name FROM Workshops LEFT JOIN
Classes ON ClassID=Classes.ID GROUP BY ClassID;

gives me:

+-+++-+
| ClassID | MIN(Date)  | MAX(Date)  | Name|
+-+++-+
|  56 | 2002-05-15 | 2002-12-29 | XO-312  |
| 408 | 2002-05-15 | 2002-05-17 | PA-211a |
| 600 | 2002-05-15 | 2002-05-16 | XUL-001 |
+-+++-+
3 rows in set (0.00 sec)

Now I want to get *active* classes - WHERE Now() Between MIN(Date) and
Max(Date) -- but I can't figure out where to put the friggin clause. I get
errors all over the place. Can I use the between function with a group by
function?

select ClassID, MIN(Date), MAX(Date), Classes.Name
 FROM Workshops
 LEFT JOIN Classes ON ClassID=Classes.ID
 WHERE Now() BETWEEN MIN(Date) and MAX(Date)
 GROUP BY ClassID;

What am I doing wrong?



-
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