1

この質問を投稿する前に検索してみましたが、別の例を見つけることができませんでした。

SQL が現在私のアキレス腱であり、それに取り組んでいることを痛感しています。

私の悲惨な話は、3 つのテーブルに関するものです。

tableA: 更新したい列 (estId) があります

tableB: 名前 (estName) を含む施設の詳細が含まれています

tableC: 施設名 (estName) と関連付けられた施設 ID (estCode) を含む、インポートされる施設データが含まれています。

疑似言語では、私が達成したいのは次のとおりです。

Update tableA
Set estId = tableC.estCode
Where tableC.estName = tableB.estName

私はこれを試しました:

UPDATE tableA
SET estId = tableC.estCode
FROM
    tableC
    JOIN tableB
    ON tableC.estName = tableB.estName

それは失敗しました。むしろ、estId 列を更新しましたが、各行には tableC の最初の値が含まれていました。

私はおそらく明らかな何かを見逃しています...

誰でも助けることができますか?

4

1 に答える 1

0

UPDATE t_alias SET t_alias.estId = tableC.estCode FROM tableA as t_alias JOIN tableB on tableB.estID = tableA.estID JOIN tableC ON tableC.estName = tableB.estName

于 2012-06-04T12:04:45.517 に答える