多くの結合を持つ複雑な選択クエリがあります。これはツールから生成されます。私はそのクエリに基づいてフィールドを更新する必要があります。複雑な選択クエリのSQL UPDATE文
私はデコードしようとしましたが、自分のデコードに基づいたアップデートが正しいとは確信していません。ツール生成クエリに基づいて値を更新できますか?以下のように: - A,B, ..
列(例えば列D
)の一つはおそらく、我々はそれがはるかに良いことができますF_Sales.customer_code
UPDATE F_Sales SET d_source = "XYZ"
WHERE
F_Sales.customer_code in (
SELECT D
FROM (-- untouched original query
SELECT A, B, C, D......... FROM K, L, M, N, O,P ....) q
)
または
UPDATE F_Sales SET d_source = "XYZ"
FROM F_Sales
JOIN (-- untouched original query
SELECT A, B, C, D......... FROM K, L, M, N, O,P ....) q
ON F_Sales.customer_code = q.D
にマッピングすることができます提供
UPDATE F_Sales SET d_source = "XYZ" WHERE
F_Sales.customer_code in (SELECT A, B, C, D......... FROM K, L, M, N, O,P ....)
CTEまたは一時表を使用すると読みやすくなります。あなたはそれを避けるためにそれに参加することができますIN – Leonidas199x
'IN(SELECT A、B、C、D ...'を使用することはできませんので 'IN'句は、 dのように書くことができます。 – Tanner
1カラムと比較したWHERE句のUPDATE文に似ているので、まだ漏れがあるかもしれません。 – RanchiRhino