表格資料需要依照特定條件進行條件顯示的場景,通常會使用條件語句,例如CASE 或IF /ELSEIF,在MySQL 選擇查詢中。在這種情況下,需要根據製造商規則確定產品可見性的查詢。
問題:
給定兩個表,其中一個包含製造商資訊和可見區域,另一個包含產品信息,目標是建立一個查詢,傳回產品詳細資訊以及指示可以在何處查看產品的計算值。計算值應基於產品是新的還是舊的,以及製造商表中定義的暴露規則。
解:
CASE 和 IF/可以利用 ELSEIF 語句來實現此結果,並使用 CASE 更簡潔地表達條件。
以下查詢使用 CASE語句:
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
在此查詢中:
此查詢根據製造商的設定和產品狀態動態決定每個產品的可見性約束。它提供了根據指定區域進行條件顯示或分發所需的資訊。
以上是如何在 MySQL 中使用條件 SELECT 語句根據製造商規則顯示/隱藏產品?的詳細內容。更多資訊請關注PHP中文網其他相關文章!