At 03:16 AM 9/20/2006, Johan Höök wrote:
Hi André,
you can do it like:
SELECT a.*
FROM tablea a
LEFT JOIN tableb b ON b.a_id = a.a_id AND b.flag = 'y'
WHERE b.b_id IS NULL;

/Johan

Johan,
I don't think that is going to work. How is it going to have b.flag='Y' when it can't find the b record, because b.b_id is null? Everything from b will be Null because that's what's what you're looking for in the Where clause.

Mike



André Hänsel skrev:
Hello list,
I have two tables:
Table A
a_id name
1    a
2    b
3    c
Table B
b_id a_id flag name
1    2    y    x
2    2    n    y
3    3    n    z
How can I find the rows from table A where there is no matching row (joined
using a_id as key) in table B where flag is "y"?
So in this example I want the entries 1/a and 3/c from table A. 2/b should
not be selected because there is a row in table B with a_id = 2 and
flag="y".
Understandable?
It seems quite impossible to me, but I cannot figure out a reason why it is
impossible, either.
Regards,
André




--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to