0

30,000 個の製品を含む製品テーブルがあります。

SELECT product_id,sku PRODUCT T1

1  3518
12 3518[2]
11 88322[2]
10 915703[12]
 9 915703

product_id の 1 と 12 は同じ製品ですがバリエーションがあるため、product_description.tag の両方の値を更新したいと考えています。

product_id = 1
product_description.tag = 3518, 3518[2]

product_id = 12
product_description.tag = 3518, 3518[2]

product_id = 11
product_description.tag = 88322[2]

product_id = 10
product_description.tag = 915703[12],915703

product_id = 9
product_description.tag = 915703[12],915703

それは理にかなっていると思いますが、同じテーブルで LIKE '%3518' を実行して別のテーブルを更新することに頭を悩ませることはできません。

手伝ってくれますか?

ありがとう

ストゥ

4

1 に答える 1

0

これは恐ろしいスキーマです。この瞬間を利用して、新しいテーブルを作成Product_Mastersし、次の結果を入力して部分的に修正してください。

SELECT product_id, 
    (
    SELECT MIN(product_id)
    FROM PRODUCT T2 
    WHERE T2.sku LIKE T1.sku + '%'
    ) AS master_project_id
FROM PRODUCT T1

次に、これを product_description フィールドを設定するためのリストとして使用します。最初に master_product_id に対応するレコードの説明を更新してから、その値に一致するようにすべてのサブプロジェクトを更新します。

于 2012-10-17T10:54:40.253 に答える