>> >> SELECT R1.* from R1 left join R2 on (R1.id=R2.pid) where R2.id is
NULL;
>> What i need is to have a result that list only the R1 rows which does
not
>> have any references of type "D".
>
>Aha, you have more than one record in R2 which is linked to R1.
>
>Hmmm.. you can select the pid's from R2 which do have a type="D" into a
>temporary table. Then you can select the R1 records which do not have any
>references in the temporary table.
>
>You'll end up with the R1 records that do not have any references in R2 or
>do not have a reference with type="D"
>
>CREATE TEMPORARY TABLE `<unique_name>` SELECT pid FROM R2 WHERE R2.type =
>"D";
>SELECT * FROM R1 LEFT JOIN `<unique_name>` AS t1 ON (R1.id=t1.pid) WHERE
>t1.pid IS NULL;
>DROP TABLE `<unique_name>`
>Regards, Jigal.

Yes, you're right. Maybe i was not clear enought in my explanation.

I wanted to know a method to do this without creating a temporary table, in
a single statement. However, this seems not be possible with this version.
(It require to be able to do multiple select in a single statement : Select
.. From ... NOT IN ( SELECT ... from .. where...) ... ?

So i think i'll do as you suggest.

Thank you for your help

--
Vincent





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

Reply via email to