gpt4 book ai didi

MySQL - : create view with data from multiple tables 问题

转载 作者:行者123 更新时间:2023-11-30 22:43:15 25 4
gpt4 key购买 nike

我是 SQL 的新手,在 MySQL 中创建 View 时遇到问题,该 View 利用来自具有不同列的多个表的数据。

我需要 View 从 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 直接放在它前面,然后创建 View 。现在您要做的就是像这样调用 View SELECT * FROM view1;

还有一个旁注,当您JOIN 时,您需要确保您要加入的列具有共同的数据。通常您在ID 列上JOIN。例如,table1.IDtable2 中存在 table1ID 的列。但这可以是任何唯一的数据。

有关详细信息,请参阅 MySQL 文档 https://dev.mysql.com/doc/refman/5.0/en/create-view.html

关于MySQL - : create view with data from multiple tables 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30496204/

25 4 0