Images
テーブル、テーブル、テーブルの3 つのテーブルProduct
がありProductGallery
ます。My Images テーブルには 2 つの列があります
この上:
ID Path
1 JeffAtwood.jpg
2 GeoffDalgas.jpg
3 Jarrod Dixon.jpg
4 JoelSpolsky.jpg
私Products
のテーブルには2つの列があります:
ID Image ID
1 1
2 2
3 3
4 4
私ProductGallery
には3つの列があります
ID ImageID ProductID
1 1 1
2 2 1
3 3 1
4 4 1
5 1 2
6 2 2
7 3 2
8 4 2
製品リストのすべてのパスを返すストアド プロシージャを作成する必要があります
だから私はと呼ばれるパラメータを持っています@ids NVARCHAR(MAX)
必要なすべての製品 ID があり、各値はコンマで区切られています。
ので、私は持っています :
@ids = '1' + ','+ '2'+',' ..... and so on
SQLステートメントを書くのを手伝ってくれる人はいますか?
これまでのところ、私はこれを持っています
Declare @Ids VARCHAR(MAX)
select @Ids = '1';
select P.ID ,I.Path from Images I
left outer join Products P on (I.ID IN(select ImageID from Products where ID in (SELECT Items FROM Split(@Ids,','))))
left outer join ProductGallery PG on (PG.ImageID = I.ID)
WHERE PG.ProductID IN(SELECT Items FROM Split(@Ids,',')) AND P.ID IN
(SELECT Items FROM Split(@Ids,','))
GROUP BY P.ID, I.Path
@Ids
パラメーターには既に値が入力されていることに注意してください。これを C# コードから渡します。