早上好,我需要一些帮助。
我有一个包含多个表的数据库。我正在尝试编写一个INSERT INTO和SELECT查询,将所有值从一个表(TableA)复制到另一个表(TableD)中,但用一个值替换另一个表中的值(表B)。
表A包含各种字段,包括TableBRef
表B包括以TableBRef开头的各种字段,还包括字段TableCRef
我想将所有TableA复制到表D中,但将TableBRef替换为TableCR,即我知道TableBRef,我需要在TableB中搜索它并从TableCRef字段返回相关值。
INSERT INTO TableD
(DRef, CRef, DData1, DData2)
SELECT TableA.ARef, TableB.CRef, TableA.AData1, TableA.AData2
FROM TableD AS TableD_1 CROSS JOIN
TableC CROSS JOIN
TableA INNER JOIN
TableB ON TableA.BRef = TableB.BRef
抱歉,我认为将它们称为通用表名可能有所帮助,但实际上有点令人困惑: - )
答案 0 :(得分:0)
我不明白你如何关联每个表,但看看这个查询是否适合你
INSERT INTO TableD
(DRef, CRef, DData1, DData2)
SELECT a.ARef, c.CRef, a.AData1, a.AData2
from tableA a
left outer join tableB b on a.ARef = b.ARef
inner join tableC c on b.CRef = c.CRef