我有7个表,每个表都包含特定产品的条目。我想检查所有7个表是否包含特定ID的条目(例如:4562)。即数据存在与否。我正在使用SQL Server 2008.Please帮我写一个查询来检查状态。
答案 0 :(得分: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
等等
答案 1 :(得分:0)
尝试以下命令(3个表T1,T2,T3的示例)。如果所有表中都存在1
,则返回ID = 4562
;如果至少有一个表错过此ID,则返回0
。
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]