我需要根據id對應關係將數據從一個表(A)複製到另一個(B),但ID的對應關係實際上存儲在第三個表(C)中。 因此,與對應的表看起來像基於ID對應的更新表
C.A_ID C.B_ID
1 33
2 56
3 74
我想是這樣
UPDATE DB.A
SET DB.A = DB.B
FROM DB.A p
INNER JOIN
DB.B p1
INNER JOIN
DB.C p2
如何插入ID對應?
我需要根據id對應關係將數據從一個表(A)複製到另一個(B),但ID的對應關係實際上存儲在第三個表(C)中。 因此,與對應的表看起來像基於ID對應的更新表
C.A_ID C.B_ID
1 33
2 56
3 74
我想是這樣
UPDATE DB.A
SET DB.A = DB.B
FROM DB.A p
INNER JOIN
DB.B p1
INNER JOIN
DB.C p2
如何插入ID對應?
UPDATE A , (select c.id1, b.data from B join C on (B.id2 = C.id2)) as Foo
SET A.data = Foo.data
WHERE
A.id1 = Foo.id1
如上所述,我不得不使用_insert into_,但感謝你的例子,我能夠將它整理出來(見上文) –
您需要使用select into語句從一個表中選擇數據並插入另一個表中。
此外,你錯過了加入條件。這就像'A INNER JOIN B ON A.some_column = B.some_column' – fancyPants
是的,你是對的。感謝您的意見,我通過如下方式解決了這個問題: 'insert into A(data) select * from(請選擇C.ID_A,B.data from B join C on(B.id = C.ID_B)) tmp' –