0
これは良いタイトルを思い付くことができませんでした。私は私のテーブルから製品を選択するクエリを持っています。各製品は、複数のカテゴリに属することができます。したがって、DISTINCTクエリに「カテゴリ」を追加すると、その製品が複数のカテゴリに属するため、複数の同じ製品が返されることがあります。私は私の質問がちょうどカテゴリーの1つを選んでそれを返すことを望んでいますが、どちらが問題ではありません。ここ は私のクエリです:DISTINCTを使用したMySQLクエリは、多くの可能なオプションから1つを返します
SELECT DISTINCT ci.NAME,
ci.pid,
ci.description,
ci.price,
ci.saleprice,
ci.ingredients,
ci.allergens AS allergens,
ci.isfood,
ci.quantity,
ci.ismostpopular,
ci.activedate,
ci.isfrozen,
cc.NAME AS category
FROM cart_category cc
JOIN cart_item_category cic
ON cc.id = cic.catid
JOIN cart_item ci
ON cic.itemref = ci.itemref
WHERE cc.active = 1
AND ci.active = 1
AND ci.isdeleted = 0
AND ci.isfrozen = 0
AND (ci.NAME LIKE '%dark%'
OR ci.pid = '%dark%')
AND ci.quantity > 5
AND cc.NAME <> "nutritionals";
私はcc.name as category
に追加すると、それは、同じ製品の複数を返すときです。
ちょうど1つの製品を返すこと。検索に合った商品をすべて返す必要があります。 – dmikester1
サブクエリで結合を置換し、サブクエリをLIMITします。 – Thinkeye
商品IDでグループ化することができます – dkameleon