2015-05-28 40 views
1

我對SQL很陌生,並且在MySQL中創建一個視圖時存在問題,該視圖利用多列表中的數據並使用不同的列。MySQL - 遇到問題:使用多個表中的數據創建視圖

我需要該視圖從5個表中提取數據,使用這些不同表中的8列。

例如:table1有4列,我需要的數據來自,table2有1列,table3有1列,table4有1列。

我已經嘗試過,很糟糕,要做到這一點,但很想有人指點我在正確的方向。這是我需要利用關節的東西嗎?我不能使用UNION,因爲所有的表都必須有相同數量的列,對嗎?

+0

是,'JOIN'將是路要走MySQL文檔。 –

回答

0

您將需要使用連接,像這樣:

CREATE VIEW view1 AS 
SELECT t1.col1, t1.col2, t2.col1, t2.col2 
FROM table1 t1 
INNER JOIN ON table2 t2 on t1.col1 = t2.col2; 

這是一個非常通用的和漂亮的標準JOINSELECT。我通常做的是創建我的SELECT並確保它返回我想要的。然後我將CREATE VIEW [NAME} AS直接放在它的前面,然後創建視圖。現在你所要做的就是調用這樣的視圖SELECT * FROM view1;

另一方面,當你JOIN你需要確保你加入的列有共同的數據。通常你JOIN在列ID。例如,table1.IDtable2中的列,其中table1ID存在。但是這可能是任何獨特的數據。

具體請參閱相關https://dev.mysql.com/doc/refman/5.0/en/create-view.html

相關問題