从多个数据库中创建具有相同列名的多个表的视图?

问题描述 投票:0回答:1

我目前有两个分别名为t1和t2的表,其结构如下:

[id varchar(7)NOT NULL DEFAULT'0',codevarchar(30)默认为空

每个表内部大约有50个数据,我的目标是创建视图表,将表中的两个数据组合在一起。

到目前为止,这些是我尝试过的查询,它们对我的目标已经显示出一些结果:

Create view test_view as
SELECT
  t1.id,
  t1.code,
  t2.id,
  t2.code,

FROM test1 t1
CROSS JOIN test2 t2

这将返回结果,但是由于某些原因,第二个表中的值重复了50次。

我尝试过的另一个查询(我打算将它们全部放在同一列中,而不是使新列区分t1和t2)执行相同的操作

SELECT a.id, b.id
FROM test1.t1 as a 
LEFT JOIN test2.t2 as b ON a.id <> b.id;

内部联接,外部联接,交叉联接显示重复数据的相同结果。

我尝试使用UNION,但是使用UNION时,视图表不允许我编辑列。

我试图在数小时之内在互联网上四处浏览,但似乎无法弄清楚这样做的逻辑。我将不胜感激。预先谢谢你。

mysql join view
1个回答
0
投票

JOIN的目的是产生一个虚拟表,该表包含联接表中满足ON条件的所有成对行的组合。您没有ON条件,因此可以获得所有可能的行对:无用的数据爆炸。

© www.soinside.com 2019 - 2024. All rights reserved.