次のクエリを実行すると、データの欠落に関する問題が発生しています。 テーブルoc_product_special
には特別価格の商品があり、一部の商品にはテーブルoc_product
に通常価格が格納されています。
テーブルoc_product_special
に特別価格がある場合にのみデータが表示されていることがわかりました。特別価格がなく、通常価格だけのデータは除外されています。この問題を解決する方法がわかりません。条件文などをどこに追加できるのかmysqlクエリにデータがありません。内部結合の条件文が必要です。
通常価格が存在し、特別価格がない場合は通常価格を表示し、特別価格は0を表示すると、どこにどこに追加できますか?
SELECT
pd.name AS 'Product Name',
p.model AS UPC,
p.quantity AS 'Quantity',
p.price AS 'Regular Price',
ps.price AS 'Special Price',
p.cost AS 'COST',
p.status AS 'Status'
FROM oc_product p
INNER JOIN oc_product_description pd
ON pd.product_id = p.product_id
INNER JOIN oc_product_special ps
ON ps.product_id = p.product_id
INNER JOIN oc_manufacturer m
ON p.manufacturer_id = m.manufacturer_id
INNER JOIN oc_product_to_category p2c
ON p2c.product_id = p.product_id
INNER JOIN oc_category c
ON c.category_id = p2c.category_id
INNER JOIN oc_category_description cd
ON c.category_id = cd.category_id
WHERE
c.category_id = 37 OR c.parent_id = 37
GROUP BY pd.name ORDER BY m.name ASC
ありがとうございます。私は2つの非常に重要なことを学ばなければなりません.1つ目は左に参加し、もう1つはCOALESCEの機能です。この問題が修正されました。ありがとうございました。 –