MySQL Select 語句:使用製造商設定確定產品可見性
您的目標是建立一個查詢,根據規則計算產品的可見性在製造商表中定義。具體來說,您想要確定可以在哪裡查看產品(例如,到處、僅限加拿大或僅限美國)。
初始查詢嘗試在子查詢中使用 IF/ELSEIF 語句來計算可見性。然而,這種做法是不正確的。相反,請考慮使用 CASE 語句來評估產品的狀態並分配適當的可見性等級。
提供的 CASE 語句有一個小問題:無論產品的狀態為何,它總是會評估第一個 WHEN 條件。若要解決此問題,請從每個 WHEN 子句中刪除 AND 條件。
以下修改後的查詢應提供所需的結果:
SELECT t2.company_name, t2.expose_new, t2.expose_used, t1.title, t1.seller, t1.status, CASE status WHEN 'New' THEN t2.expose_new WHEN 'Used' THEN t2.expose_used ELSE NULL END as 'expose' FROM `products` t1 JOIN manufacturers t2 ON t2.id = t1.seller WHERE t1.seller = 4238
此查詢評估每個產品的狀態,無論是「新」 ' 或'Used',並返回製造商表中定義的對應可見性等級。
以上是如何根據製造商設定確定產品在 MySQL 中的可見性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!