簡體   English   中英

MySQL-麻煩於:使用來自多個表的數據創建視圖

[英]MySQL - Trouble with: create view with data from multiple tables

我對SQL還是很陌生,在MySQL中創建視圖時遇到了問題,該視圖利用了具有不同列的多個表中的數據。

我需要視圖從5個表中提取數據,並在各個表中使用8列。

例如:table1有4列,我需要從中獲取數據,table2有1列,table3有1列,而table4有1列。

我嘗試過,但效果很差,但是很樂意讓某人向正確的方向指點我。 這是我需要利用關節的東西嗎? 我不能使用UNION,因為所有表都必須具有相同的列數,對嗎?

您將需要使用聯接,如下所示:

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列。 但這可以是任何唯一的數據。

有關詳細信息,請參見MySQL文檔https://dev.mysql.com/doc/refman/5.0/en/create-view.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM