0

Volusion ショッピング エンジンで商品のフィールドの値を変更しようとしています。設定したいフィールドは、子製品が 0 に相当する場合は「HideProduct」を「Y」にします (負の在庫もゼロとしてカウントされます)。ただし、一部の製品には子がなく、無視されます。

サーバーまたはデータベースに直接アクセスすることはできません。このスクリプトは、エラーが抑制された状態で渡されます。表示されるエラーは、単に「エラーが発生しました。リクエストを再試行するか、カスタマー サービスにお問い合わせください。ありがとうございます」というものです。SQL のカスタマー サポートは提供していません。

これは私が実行しようとしているスクリプトです:

UPDATE
    Products_Joined
SET
    HideProduct = 'Y'
WHERE
    -- Only apply to products where there are no in stock children
    0 = SUM(
            SELECT
                CASE 
                    WHEN Pb.DoNotAllowBackOrders = 'N' THEN 1
                    WHEN Pb.StockStatus < 0 THEN 0
                    ELSE Pb.StockStatus
                END
            FROM
                Products_Joined Pb
            WHERE 
                ProductCode = Pb.IsChildOfProductCode 
        )
        AND
    --Only apply to products with children
    0 < TOTAL(
            SELECT
                Pc.StockStatus
            FROM
                Products_Joined Pc
            WHERE 
                ProductCode = Pc.IsChildOfProductCode 
        )

UPDATEスクリプトの一部の製品コードをコードの一部に渡そうとしてSELECTいます。そこが問題になりそうなところだと思います。

4

0 に答える 0