2

うまくいけば、これは単純なことですが、私がやろうとしているのは、CartContentsテーブルの製品ごとに1行だけ引き戻すことです。私が抱えている問題は、一部の製品に複数の画像があるため、製品に複数の画像がリンクされている場合にこれらが返されることです。

これは私が作成したものですが、それでも各製品の複数の行をプルバックします。

SELECT DISTINCT (pri.FileName), p.Title, tc.Quantity, tc.FK_ProductID
    FROM [Ordering].[CartContents] tc
    INNER JOIN [Ordering].[Products] p ON p.ProductID = tc.FK_ProductID
    INNER JOIN [Ordering].[ProductImages] pri on pri.FK_ProductID = p.ProductID
    WHERE FK_UserID = @FK_UserID

ありがとう

4

1 に答える 1

4

ファイル名がないと仮定すると、「in」は問題を取り除きます。

SELECT p.Title, tc.Quantity, tc.FK_ProductID
FROM [Ordering].[CartContents] tc  INNER JOIN
     [Ordering].[Products] p
     ON p.ProductID = tc.FK_ProductID
where p.ProductID in (select pri.FK_ProductID 
                      from [Ordering].[ProductImages] pri
                     ) and
      FK_UserID = @FK_UserID 

ファイル名を使用して、任意に1つを選択する必要があります。

SELECT min(pri.FileName) as FileName, Title, tc.Quantity, tc.FK_ProductID
FROM [Ordering].[CartContents] tc  INNER JOIN
     [Ordering].[Products] p
     ON p.ProductID = tc.FK_ProductID INNER JOIN
     [Ordering].[ProductImages] pri on pri.FK_ProductID = p.ProductID
where FK_UserID = @FK_UserID 
group by Title, tc.Quantity, tc.FK_ProductID
于 2012-07-10T21:13:54.883 に答える