使用MySQL,我想在一个插页中完成所有这些:
- 表T1包含列Ca和& CB。 T1在数据库D1中。插入表T1,指定列Ca,Cb。
- 表T2包含C2列。 T2在数据库D2中。用T2.C2
设置T1.Ca的值- 表T3包含C3和C3列。 C4。 T3在数据库D2中。使用T2.C2值查询T3.C3并使用同一行的C4值来设置T1.Cb
醇>
所以我做了:
insert into T1(Ca, Cb)
select C2
from D2.T2
union
select C4
from D2.T3
where C3=T2.C2;
错误代码:1054。未知列' T2.C2'在' where子句'
请帮忙。提前谢谢。
答案 0 :(得分:1)
如果我理解你应该使用联接而不是联盟
insert into D1.T1(Ca, Cb)
select T2.C2, T3.C4
from D2.T2
INNER JOIN D2.T3 on T2.C2 = T3.C3
联盟的第二个选择不知道第一个选择的内容..所以你有错误
'where子句'中的未知列'T2.C2'
答案 1 :(得分:0)
联盟的查询彼此独立 你想加入这些表。
select C2,C4
from D2.T2 a
INNER JOIN D2.T3 b ON b.C3=a.C2;