如何加入这个一对多数据?

时间:2011-01-06 04:00:50

标签: sql mysql join

我有以下表格设置:

t1 有两列: id flag_a

id是唯一标识符,flag_a是布尔值。

t2 有三列, id parent_id flag_b

id是一个唯一标识符,parent_id是来自id的{​​{1}}之一,而t1是一个布尔值。


我需要完成这个伪查询:

flag_b


用英语:我需要SELECT t2.id FROM t2 WHERE flag_b = 0 AND t1.flag_a = 0 中的所有id,其中t2为假(flag_b)且{{1}属于0的{​​{1}}也属于假。


我熟悉使用flag_a来完成这类事情的想法,但我并没有太多关于如何实际去做的线索。

4 个答案:

答案 0 :(得分:1)

SELECT t2.id
FROM t2 INNER JOIN t1
  ON t2.parent_id=t1.id
WHERE flag_a=0 AND flab_b=0

答案 1 :(得分:1)

    SELECT t2.id
      FROM t1
INNER JOIN t2 ON t1.id = t2.Parent_id
     WHERE t1.flag_a = 0
       AND t2.flag_b = 0

希望这有帮助,

答案 2 :(得分:1)

Select t2.id
From 
   t2
   INNER JOIN t1
   ON t2.parent_id = t1.ID
         and  t2.Flag_B = 0
        and t1.Flag_a = 0

或者

Select t2.id
From 
   t2
   INNER JOIN t1
   ON t2.parent_id = t1.ID

WHERE
     t2.Flag_B = 0
     and t1.Flag_a = 0

答案 3 :(得分:0)

SELECT t2.id 
FROM t2 INNER JOIN t1 ON t2.parent_id = t1.id 
WHERE t2.flag_b = 0 AND t1.flag_a = 0