我在尝试获得以下选择工作时遇到问题。 有人可以帮忙吗? 感谢。
SELECT
i.InventoryID,i.AttributeSKUID,s.AttributeValue
FROM
ma_product_inventory i
LEFT JOIN
ma_product_attribute_sku s
ON
i.AttributeSKUID=s.AttributeSKUID
LEFT JOIN
ma_product p
ON
p.ProductID=s.ProductID
WHERE
s.ProductID='1'
AND
(
s.AttributeValue='xs'
OR
s.AttributeValue='green'
)
我得到以下结果:
INVENTORYID ATTRIBUTESKUID ATTRIBUTEVALUE
1 1 xs
1 1 green
2 2 green
3 3 green
4 4 green
5 5 green
6 6 xs
我如何获得AttributeSKUID?
感谢。
答案 0 :(得分:2)
在查询结尾添加此内容
GROUP BY s.AttributeValue
答案 1 :(得分:2)
尝试使用SELECT DISTINCT
,为什么加入 ma_product p ?看来你没有使用那张桌子。
答案 2 :(得分:2)
尝试通过具有count(*)= 2的S.attributeSKUID在kyusan93代码Select distinct(s.attribute),i.inventoryId,s.attributevalue
组中添加distinct - 这将使所有attributeSKUID重复两次。希望能帮到你。
答案 3 :(得分:0)
Select s.AttributeSKUID
from
ma_product_attribute_sku s
LEFT JOIN
ma_product p
ON
p.ProductID=s.ProductID
WHERE
s.ProductID='1'
AND
(s.AttributeValue='xl'
OR
s.AttributeValue='red')
Group by
S.AttributeSKUID
having count(*) = 2