What about

SELECT tablea.* FROM tablea AS a JOIN tableb AS b ON a.a_id = b.a_id
WHERE b.b_id IS NULL
OR b.flag != "Y";

The WHERE clause should exclude existing records where the flag is Y,
include
existing records where the flag is not Y, and include records from tablea
that don't have matching records in tableb.

Unless I'm mistaken....

Regards,

Jerry Schwartz
Global Information Incorporated
195 Farmington Ave.
Farmington, CT 06032

860.674.8796 / FAX: 860.674.8341


>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]





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

Reply via email to