On 25-Jul-2003 Vikram Vaswani wrote:
<snip>
> mysql> SELECT * FROM branches;
> +------+-----+--------------------------------+------+
>| bid | cid | bdesc | bloc |
> +------+-----+--------------------------------+------+
>| 1011 | 101 | Corporate HQ | CA |
>| 1012 | 101 | Accounting Department | NY |
>| 1013 | 101 | Customer Grievances Department | KA |
>| 1041 | 104 | Branch Office (East) | MA |
>| 1042 | 104 | Branch Office (West) | CA |
>| 1101 | 110 | Head Office | CA |
>| 1031 | 103 | N Region HO | ME |
>| 1032 | 103 | NE Region HO | CT |
>| 1033 | 103 | NW Region HO | NY |
> +------+-----+--------------------------------+------+
> 9 rows in set (0.01 sec)
>
> I need to delete all clients with no branches. I need to use a subquery
> to
> do this. Given these constraints, I came up with the following:
>
> mysql> delete from clients where cid = (select clients.cid from clients
> left join branches using (cid) WHERE bid is null);
>
<snip>
Un-tested:
DELETE FROM clients WHERE cid NOT IN
(SELECT b1.cid FROM branches AS b1, branches AS b2
WHERE b1.cid=b2.cid and b1.bid != b2.bid);
Regards,
--
Don Read [EMAIL PROTECTED]
-- It's always darkest before the dawn. So if you are going to
steal the neighbor's newspaper, that's the time to do it.
(53kr33t w0rdz: sql table query)
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]