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
います。そこが問題になりそうなところだと思います。