У меня плохие времена для создания отчета rdlc для отображения отчета в предопределенном формате, заданном моим клиентом.
Клиентский формат Выходной формат http://i29.tinypic.com/4t9g7b.jpg
Как вы можете заметить, красный фон - моя проблемная область, цена на предмет «А» была изменена трижды.И соответственно показаны их продажи, поломки и количество возврата.У меня есть 4 таблицы Products, SalesLog, Breakages, SalesReturn.Таблица продукта содержит последнюю (текущую) цену товара, а таблицы SalesLog, Breakages и SalesReturn - это цена на момент продаж, поломок и возврата продаж.Я написал запросы для SalesLog, Breakges и SalesReturn, который показывает строки в соответствии с ProductCode, Price и Количество.Но я не понимаю, как я могу объединить их (вывод 4 таблиц), чтобы показать результат ниже.
Запрос для SalesLog
SELECT [Products].pCode AS Code,
[Products].pName AS Item,
SalesLog.[Price] AS Price ,
COUNT(*)AS Quantity ,
SUM(SalesLog.[Price]) AS Total
FROM SalesLog
INNER JOIN [Products] ON [Products].pCode = SalesLog.ProductCode
WHERE BillDate = '07/01/2010'
GROUP BY [Products].pCode,[Products].pName ,
SalesLog.[Price]
Запросдля поломок
SELECT [Products].pCode AS Code,
[Products].pName AS Item,
Breakages.[Price] AS Price ,
COUNT(*)AS Quantity ,
SUM(Breakages.[Price]) AS Total
FROM Breakages
INNER JOIN [Products] ON [Products].pCode = Breakages.ProductCode
WHERE BillDate = '07/01/2010'
GROUP BY [Products].pCode,[Products].pName ,
Breakages.[Price]
Запрос на SalesReturn
SELECT [Products].pCode AS Code,
[Products].pName AS Item,
Breakages.[Price] AS Price ,
COUNT(*)AS Quantity ,
SUM(Breakages.[Price]) AS Total
FROM Breakages
INNER JOIN [Products] ON [Products].pCode = Breakages.ProductCode
WHERE BillDate = '07/01/2010'
GROUP BY [Products].pCode,[Products].pName ,
Breakages.[Price]
Таблица продуктов
CREATE TABLE [dbo].[Products](
[ProductId] [int] IDENTITY(1,1) NOT NULL,
[pName] [nvarchar](30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[pSize] [int] NULL,
[pPrice] [decimal](10, 2) NULL,
[pPackQty] [int] NULL,
[pGroup] [int] NULL,
[pCode] [int] NULL,
[OpenStock] [int] NULL,
[CloseStock] [int] NULL,
[YrlyOpenStock] [int] NULL,
CONSTRAINT [PK_Products] PRIMARY KEY CLUSTERED
(
[ProductId] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
МожетКто-нибудь, помогите мне или предложите какой-нибудь трюк для достижения этой цели.
заранее спасибо .....