0

以下の選択作業を取得しようとして問題が発生しています。誰でも助けることができますか?ありがとう。

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 を取得するにはどうすればよいですか?

ありがとう。

4

4 に答える 4

2

これをクエリの最後に追加します GROUP BY s.AttributeValue

于 2013-04-24T08:40:19.457 に答える
2

使ってみてSELECT DISTINCT、なぜma_product pに参加したのですか?あなたはそのテーブルを使わなかったようです。

于 2013-04-24T08:46:45.417 に答える
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
于 2013-04-24T10:27:43.870 に答える