Я борюсь с поиском решения для отчета из динамической сводной таблицы в SQL Server в Crystal Report или для слияния с хранимой процедурой.
DECLARE @Columns as VARCHAR(MAX)
SELECT @Columns = COALESCE(@Columns + ', ','') + QUOTENAME(loc_id)
FROM
(SELECT DISTINCT loc_id
FROM request_hd
WHERE entry_date = '2018-06-23'
AND valid = '1') AS B
ORDER BY B.loc_id
DECLARE @SQL as VARCHAR(MAX)
SET @SQL = 'SELECT item_code,item_ref,item_des,Shelf,WH_stock,WH_stockchk_qty, ' + @Columns + '
FROM
(
SELECT I.item_code,
I.item_ref,
I.item_des,
I.unit_qty,
L.loc_id AS LocationName,
(select Sum(qty) from stock where stock.item_code = I.item_code and loc_id = ''901'' ) as WH_stock,
(select isnull(sum(qty),0) from stock_chk where stock_chk.item_code = I.item_code and loc_id like ''901'') as WH_stockchk_qty,
(CAST( (Q.shelf_desc) AS VARCHAR)+''-''+CAST( (Q.shelf_rowSCOUNT) AS VARCHAR)+CAST( (Q.shelf_rowlength) AS VARCHAR)) as Shelf
from request_tran I, request_hd L, shelf_detail P, shelf_mast Q
where I.entry_no= L.entry_no and I.item_code=P.item_code and P.shelf_id= Q.shelf_id
and P.sec_id= Q.sec_id and L.entry_date >= ''2018-06-23'' and L.entry_date <= ''2018-06-23'' and L.valid = ''1''
) as PivotData
PIVOT
(
SUM(unit_qty)
FOR LocationName IN (' + @Columns + ')
) AS PivotResult
ORDER BY Shelf'
EXEC(@SQL)
Этот код работает в соответствии с моей концепцией.
РЕЗУЛЬТАТ
Я хочу этот отчет в Crystal Reports, я перепробовал много вещей, к сожалению, его не удалось
ПожалуйстаЯ новичок в таблице PIVOT в SQL Server.Пожалуйста, помогите мне решить эту проблему