3つのテーブルを作成しました
table 1 ユーザーの販売日を保存する「Sale」
テーブル 2 factorid と productid を保存する「ProductFactor」 表
3 productid と製品名を保存する「Product」
この結果のために3つのテーブルで選択したい:
ユーザーの factorid +price+ saledate + この factorid で有効な製品名を表示
しかし、いつそれを行うか、たとえば、3 つの productid を持つ 1 つの factorid にある場合は、次のように表示されます。
日付 factoreid 名 価格 2013-09-25 1 1 2000 年 2013-09-25 1 1 b 3000 2013-09-25 2 2c 4000 2013-09-25 3 3 日 3500 2013-09-25 1 1 e 8000
これを見せたい:
日付 factoreid 名 価格 価格 2013-09-25 1 1 a,b,ea 価格,b 価格,c 価格 この 3 製品名の合計 2013-09-25 2 2c 4000 2013-09-25 3 3 d 3500 私のコードは次のとおりです。
CREATE PROCEDURE [dbo].[GetUserSaleReport]
@CurrentUserId uniqueidentifier
AS BEGIN
SELECT dbo.Sale.SaleDate,
dbo.ProductFactor.FactoreId,
dbo.Product.ProductName,
dbo.Product.Price
FROM Sale
INNER JOIN ProductFactor
ON dbo.Sale.FactoreId=dbo.ProductFactor.FactoreId
INNER JOIN dbo.Product
ON dbo.ProductFactor.ProductId=dbo.Product.ProductId
WHERE dbo.Sale.UserId = @CurrentUserId
AND dbo.Sale.FactoreId=dbo.ProductFactor.FactoreId
AND dbo.ProductFactor.ProductId=dbo.Product.ProductId
ORDER BY dbo.Sale.SaleDate
END