iT邦幫忙

0

移除重要的比對數據後,會無法顯示!如何改寫?

SELECT
p.name AS pname,
          p.icon AS icon,
          p.price AS price,
          p.original_price AS original_price,
          p.prod_id AS prod_id,
          p.stock AS stock,
          p.views AS views,
          s.name AS sname
        FROM `product` as p
        JOIN
          `store` as s ON p.store_id = s.store_id
        WHERE
          p.active = '1'
        ORDER BY `prod_id` DESC

當 s.store_id 移除之後
這一段查詢就完全錯誤了
有什麼改寫方式
可以即便 s.store_id 移除,仍然可以顯示數據?

補充
每個 product 都有一個 store_id
但是當其中一個product的store_id被移除,這段就無法查詢...

移除是什麼意思? 不能在php判斷?

2 個回答

1
小魚
iT邦好手 1 級 ‧ 2018-07-05 11:57:57
最佳解答

如果是語法上的移除,
當然不能這樣做,
如果是資料上的移除,
可以把 JOIN 改成 LEFT JOIN

如果沒回答到你的問題,
因為我聽不懂你的問題是什麼...

1
純真的人
iT邦高手 4 級 ‧ 2018-07-05 11:56:27

恩...你要的是這樣?

SELECT
p.name AS pname,
          p.icon AS icon,
          p.price AS price,
          p.original_price AS original_price,
          p.prod_id AS prod_id,
          p.stock AS stock,
          p.views AS views,
          '' AS sname
        FROM `product` as p
        WHERE
          p.active = '1'
        ORDER BY `prod_id` DESC

我要發表回答

立即登入回答