1

別のテーブルからいくつかのデータを更新する必要があります..

table1のcol1からtable2のcol1にデータを単純に取得したいのですが、行は同じ位置にあるため、実行する必要があるID比較は実際にはありません..

これどうやってするの?

-----------------------------------------
Db1.Table1 (Take yearModel from this table to update Table3)
-----------------------------------------
imgid          | int | PK |
yearModel      | int |
-----------------------------------------


-----------------------------------------
Db2.Table2 (Go by this table to update Table3)
-----------------------------------------
imgid          | int | PK |
uploadId       | int | FK (With table3.uploadId) |
------------------------------------------

------------------------------------------
Db2.Table3 (Update this table with the yearModel from table1)
-------------------------------------------
uploadId        | int | PK |
uploadYearModel | int |

申し訳ありませんが、私のデータベース ダイアガラム「thingy」が何らかの奇妙な理由でクラッシュしました.. :(

また、Table1 が別のデータベースにあることにも言及する必要があります..それが重要かどうかはわかりません..

前もって感謝します!

4

3 に答える 3

2

両方のテーブルに共通のキー列があり、このキー列が両方のテーブルで同じ値を持っている場合 (両方のテーブルで同じ行を参照する)、以下のクエリが機能するはずです。

UPDATE  Table1
SET     Column1 = t2.Column1
FROM    Table2 t2 INNER JOIN Table1 t1 ON t2.KeyColumn = t1.KeyColumn

編集:

UPDATE Table3 
SET    uploadYearModel = t1.yearModel 
FROM   Table1 t1
       INNER JOIN Table2 t2 ON t2.imgid = t1.imgid
       INNER JOIN Table3 t3 ON t3.uploadId = t2.uploadId
于 2012-07-10T09:13:01.037 に答える
0
UPDATE table2 SET col1=(
       SELECT top 1 col1 FROM table1 WHERE table1.id=table2.id
)
于 2012-07-10T09:11:57.553 に答える
0

既存のレコードを更新するには:

UPDATE table2 
SET table2.c1 = table1.c1, 
table2.c2 = table1.c2,
table2.c3 = table1.c3
FROM table1, table2 
WHERE table1.c1 = table2.c1
于 2012-07-10T09:26:32.987 に答える