MySql - 选择3个表并排除if

时间:2016-02-26 06:37:39

标签: mysql sql

我有3张桌子a,b和c。表a和b将是独立的,而表c将从表a和b接收id。

我想要的是一个从表a和b中选择id的查询。但它不会选择它们 IF 它们已经(两​​者)存在于表c中。

注意:所有表格中都有多个条目

编辑:

表a和b将有一列,而表c也有(认为这是隐含的,我的坏)。 A会有id,b会有id。但是表c将有a_id和b_id

示例表:http://sqlfiddle.com/#!9/714a6/11

3 个答案:

答案 0 :(得分:2)

Select a.id ,b.id from A a,B b WHERE 
NOT EXISTS(
    SELECT 1 
    FROM C
    WHERE
        a_id = a.id
        AND b_id = b.id
)

答案 1 :(得分:1)

我认为你的意思是:

SELECT `id`, 'a' AS `tName`
FROM `a`
WHERE `ID` NOT IN (
    SELECT `ID`
    FROM `c`)
UNION ALL
SELECT `id`, 'b' AS `tName`
FROM `b`
WHERE `ID` NOT IN (
    SELECT `ID`
    FROM `c`);

答案 2 :(得分:0)

select a.id,b.id from a,b where id not in (select id from c)