选择SQL查询

时间:2011-01-19 13:14:27

标签: sql select join

我有三张桌子

表1 - 关键列p1, p2
表2 - 关键列p1, STATUS
表3 - 关键列p2, STATUS

在表1中,如果p1为0,则p2将具有值。但反之亦然。 如果p1在那里,那么我需要检查表2中的状态,如果不是,我需要检查表3中的状态。

现在我需要在表1中的表2和表3的任何一个表中选择具有挂起状态的行的查找计数。

请帮忙。提前谢谢

1 个答案:

答案 0 :(得分:1)

SELECT  CASE p1 WHEN 0 THEN t2.status ELSE t3.status END
FROM    t1
LEFT JOIN
        t2
ON      t2.p1 = p1
LEFT JOIN
        t3
ON      t1.p1 = 0
        AND t3.p2 = t1.p2