[英]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;
這是一個非常通用且非常標准的JOIN
和SELECT
。 我通常要做的是創建我的SELECT
並確保它返回我想要的內容。 然后,將CREATE VIEW [NAME} AS
直接放在其前面,然后創建視圖。 現在,您要做的就是調用這樣的視圖: SELECT * FROM view1;
還有一點說明,當您JOIN
您需要確保要連接的列具有相同的數據。 通常,您JOIN
ID
列。 例如, table1.ID
和table2
存在table1
列ID
列。 但這可以是任何唯一的數據。
有關詳細信息,請參見MySQL文檔https://dev.mysql.com/doc/refman/5.0/en/create-view.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.