2013-10-10 83 views
0

我有3個表格。如:B001,B002,B003如何從三個表中獲取值

每張表有Entrynumber列。

所以我必須找到Entrynumber值存在或不在所有3個表中。

就像我們寫一個表:

select count(*) from B001 Where Entrynumber ='3340' 

我想知道什麼是聯接表的最佳途徑。

回答

1

使用內部連接

select count(*) 
from B001 b1 
inner join B002 b2 on b1.Entrynumber = b2.Entrynumber 
inner join B003 b3 on b1.Entrynumber = b3.Entrynumber 
Where b1.Entrynumber ='3340' 

獲得其中Entrynumber存在的所有表中的記錄數。

0

的所有表

select 
     (select count(*) from b001 where EntryNumber = '3340') b1Count, 
     (select count(*) from b002 where EntryNumber = '3340') b2Count, 
     (select count(*) from b003 where EntryNumber = '3340') b3Count 
0
SELECT COUNT(*) FROM B001 
INNER JOIN B002 ON (B001.Entrynumber = B002.Entrynumber AND B002.Entrynumber = '3340') 
INNER JOIN B003 ON (B001.Entrynumber = B003.Entrynumber AND B003.Entrynumber = '3340') 
WHERE B001.Entrynumber = '3340' 

內與在那裏的條件是最好的方式加入找到價值。