2013-03-09 85 views
1

我想創建一個MySql視圖,該視圖僅在其他值存在時才包含值,而在其他幾個表中不爲空。我可以使用'NOT IN'或JOINS來描述一個長的複雜查詢,但我想獲得一些有關這種做法的最佳方法的反饋。想象一下,類似如下: 我有幾個表所示:MySql條件視圖

T1 T2 T3 
id id id 
data1 data2 data3 

等等也許8個表像。 id是所有表共享的關鍵。然後,我想要一個只顯示id列的視圖,並且只有當id存在於所有上述表中時,並且該表中的數據的值在具有該id的行中不爲null。

感謝

+0

它使用的是'JOIN'做最好的方式記錄。 – Kermit 2013-03-09 19:13:52

回答

2

您可以使用inner join s到僅顯示是所有表

select t1.id 
from t1 
inner join t2 on t1.id = t2.id 
inner join t3 on t1.id = t3.id 
where data1 is not null 
and data2 is not null 
and data3 is not null 
+0

雖然這會給我的數據。我想要的只是id。我可以改變選擇語句的第一部分來說'SELECT ID'嗎? – user1167442 2013-03-09 19:17:56

+0

是的,你可以。改變了它。 – 2013-03-09 19:18:37

+0

謝謝 - 簡單明瞭。 – user1167442 2013-03-09 19:51:21