我目前有两个分别名为t1和t2的表,其结构如下:
[id
varchar(7)NOT NULL DEFAULT'0',code
varchar(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时,视图表不允许我编辑列。
我试图在数小时之内在互联网上四处浏览,但似乎无法弄清楚这样做的逻辑。我将不胜感激。预先谢谢你。
JOIN的目的是产生一个虚拟表,该表包含联接表中满足ON条件的所有成对行的组合。您没有ON条件,因此可以获得所有可能的行对:无用的数据爆炸。