| Mailing List | | Home | | MySQL General - General MySQL discussion | | MaxDB - Everything about MaxDB, formerly known as SAP DB | | MySQL on Win32 - Runing MySQL on Windows 9x/Me/NT/2000/XP | | Java Help - Mostly related to the MySQL Connector/J driver | | ODBC - ODBC with the MySQL Connector/ODBC driver | | Perl - Perl support for MySQL with DBI and DBD::mysql | | MySQL++ - Programming with the C++ API to MySQL |
|
|
  | |  | Subquery help... | Subquery help... 2004-06-05 - By Josh Trutwin
Back On Sat, 5 Jun 2004 19:48:44 -0600
"Daniel Isenhower " <jml@(protected) > wrote:
> This is my first email to the list, so be nice ;-)
Welcome, this is a very helpful list...
> I 'm having some difficulty with a subquery that I 'm trying to do,
> and was wondering if anyone here can shed some light on the issue...
First off, I assume you are using a version of mysql able to handle sub-queries. 4.1 or 5.0 (4.0.xx does NOT support sub-queries)
> This query returns a result as expected:
> SELECT id FROM client_list WHERE name= "Some Company "
> (the id returned here is 3)
>
> This query also returns a result as expected:
> SELECT id FROM work WHERE client_id= '3 ' ORDER BY id DESC;
>
> Does anyone know why this one doesn 't return any results?
> SELECT id FROM work WHERE client_id= '(SELECT id FROM client_list
> WHERE name= "Some Company ") ' ORDER BY id DESC;
Don 't use quotes, it 's looking for a client_id that is literally the stuff inside your quotes. I 'm guessing that 'll never be the case. :)
Try:
SELECT id FROM work WHERE client_id =
(SELECT id FROM client_list WHERE name= "Some Company ")
ORDER BY id DESC;
FWIW, this is an easy query with a JOIN:
SELECT id FROM work w
INNER JOIN client_list cl ON cl.id = w.client_id
WHERE cl.name = 'Some Company ';
Just in case you are using mysql 4.0 or earlier...
Josh
--
MySQL General Mailing List
For list archives:
http://lists.mysql.com/mysql
To unsubscribe:
http://lists.mysql.com/mysql?unsub=mysql
@(protected)
|
|
 |