SSRS水平显示一列
SSRS display a column horizontaly
我有一个月 table,其中包含月份名称和月份编号。我怎样才能像这样显示我的月份 table(连续 4 个月)?
假设你的数据是这样
CREATE TABLE Table1
(MonthNum INT, [MonthName] NVARCHAR(20))
;
INSERT INTO Table1
(MonthNum, [MonthName])
VALUES
(1, 'January'),
(2, 'February'),
(3, 'March'),
(4, 'April'),
(5, 'May'),
(6, 'June'),
(7, 'July'),
(8, 'August'),
(9, 'September'),
(10, 'October'),
(11, 'November'),
(12, 'December')
;
我会尝试在 TSQL 中解决
创建一些列以符合您希望月份名称出现的顺序,我将在此处使用 CTE
;WITH cte(Col1, Col2, Col3, Col4)
AS(
SELECT 1, 4, 7, 10 UNION ALL
SELECT 2, 5, 8, 11 UNION ALL
SELECT 3, 6, 9, 12
)
加入Table个月
;WITH cte(Col1, Col2, Col3, Col4)
AS(
SELECT 1, 4, 7, 10 UNION ALL
SELECT 2, 5, 8, 11 UNION ALL
SELECT 3, 6, 9, 12
)
SELECT
T1.[MonthName]
, T2.[MonthName]
, T3.[MonthName]
, T4.[MonthName]
FROM
cte X
LEFT JOIN dbo.Table1 T1 ON T1.MonthNum = X.Col1
LEFT JOIN dbo.Table1 T2 ON T2.MonthNum = X.Col2
LEFT JOIN dbo.Table1 T3 ON T3.MonthNum = X.Col3
LEFT JOIN dbo.Table1 T4 ON T4.MonthNum = X.Col4
得到这个
MonthName MonthName MonthName MonthName
January April July October
February May August November
March June September December
我有一个月 table,其中包含月份名称和月份编号。我怎样才能像这样显示我的月份 table(连续 4 个月)?
假设你的数据是这样
CREATE TABLE Table1
(MonthNum INT, [MonthName] NVARCHAR(20))
;
INSERT INTO Table1
(MonthNum, [MonthName])
VALUES
(1, 'January'),
(2, 'February'),
(3, 'March'),
(4, 'April'),
(5, 'May'),
(6, 'June'),
(7, 'July'),
(8, 'August'),
(9, 'September'),
(10, 'October'),
(11, 'November'),
(12, 'December')
;
我会尝试在 TSQL 中解决
创建一些列以符合您希望月份名称出现的顺序,我将在此处使用 CTE
;WITH cte(Col1, Col2, Col3, Col4)
AS(
SELECT 1, 4, 7, 10 UNION ALL
SELECT 2, 5, 8, 11 UNION ALL
SELECT 3, 6, 9, 12
)
加入Table个月
;WITH cte(Col1, Col2, Col3, Col4)
AS(
SELECT 1, 4, 7, 10 UNION ALL
SELECT 2, 5, 8, 11 UNION ALL
SELECT 3, 6, 9, 12
)
SELECT
T1.[MonthName]
, T2.[MonthName]
, T3.[MonthName]
, T4.[MonthName]
FROM
cte X
LEFT JOIN dbo.Table1 T1 ON T1.MonthNum = X.Col1
LEFT JOIN dbo.Table1 T2 ON T2.MonthNum = X.Col2
LEFT JOIN dbo.Table1 T3 ON T3.MonthNum = X.Col3
LEFT JOIN dbo.Table1 T4 ON T4.MonthNum = X.Col4
得到这个
MonthName MonthName MonthName MonthName
January April July October
February May August November
March June September December