On Sat, 5 Jun 2004 19:48:44 -0600
"Daniel Isenhower" <jml@stripped> 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