使用CASE 或IF/ELSE 確定MySQL 中的產品可見性
在產品可見性由製造商定義的區域確定的場景中,您可能會遇到需要根據每個產品的狀態(新的或二手的)和製造商指定的相應區域設定來動態計算每個產品的可見區域。這可以使用 MySQL 中的 CASE 或 IF/ELSE 語句來實現。
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
在此查詢中,CASE 語句評估狀態產品(新產品或二手產品)的信息,並根據製造商的exposure_new 或expose_used 設定有條件地指派適當的曝光值。結果是每個產品的個位數「暴露」值,指示其可見區域。
IF/ELSE 方法:
當IF/ELSE 接近您時嘗試包含邏輯錯誤,更正的版本可能是:
SELECT t2.company_name, t2.expose_new, t2.expose_used, t1.title, t1.seller, t1.status, IF(status = 'New', t2.expose_new, IF(status = 'Used', t2.expose_used, NULL)) as 'expose' FROM `products` t1 JOIN manufacturers t2 ON t2.id = t1.seller WHERE t1.seller = 4238
在此更正的查詢中,IF/ELSE語句根據產品的狀態和製造商的暴露設定有條件地分配暴露值。結果與 CASE 語句方法相同,為每個產品提供「暴露」值。
透過利用 MySQL 中的 CASE 或 IF/ELSE 語句,您可以有效計算基於產品的可見區域根據製造商指定的規則,實現產品資訊的動態和條件顯示。
以上是如何根據製造商區域設定動態確定產品在 MySQL 中的可見度?的詳細內容。更多資訊請關注PHP中文網其他相關文章!