2014-05-19 91 views
1

我有7台特定产品的存在和各表将包含特定product.I的条目要检查所有7个表是否包含特定ID条目(例如:4562 )。即,数据存在或not.I正在使用SQL服务器2008.Please帮我写一个查询,以检查其状态。SQL查询,以检查在多个表

+1

如果你做一个基本的加入,而不是左连接,如果它在所有表的产品才会出现。 – PaulG

回答

0

如果你做一个基本的加入,而不是左连接,如果它在所有表的产品才会出现。

select * from tab1 
join tab2 on tab2.id = tab1.id 
join tab3 on tab3.id = tab1.id 
join tab4 on tab4.id = tab1.id 
join tab5 on tab5.id = tab1.id 
Where tab1.id = 1234 

等等等等

+0

SELECT * FROM tab1的加入对tab2.id = tab1.id其中tab2.id = '121' TAB2? – JIKKU

+0

噢,抱歉,忘了where子句 – PaulG

+0

看看5代表我该怎么写呢?我不熟悉的联接 – JIKKU

0

尝试下面的命令(例如,对于3个表T1,T2,T3)。它返回1如果存在的所有表中ID = 45620如果至少一个表错过这个ID。

SELECT 
     CASE WHEN 
     (
       EXISTS(SELECT ID FROM T1 WHERE ID=4562) 
      AND EXISTS(SELECT ID FROM T2 WHERE ID=4562) 
      AND EXISTS(SELECT ID FROM T3 WHERE ID=4562)   
     ) 
     THEN 1 
     ELSE 0 
     END AS [ID_Exists_in_all_tables] 

SQLFiddle demo