2
之前在SQL中使用旋转功能我得到这个记录结构SQL查询时字段不解决
使用透视后:
这是我的SQL查询
SELECT
FromHubID,
FromHubName,
ToHubID,
SUM([1 - 100]) AS [1 - 100],
SUM([101 - 250]) AS [101 - 250],
SUM([251 - 500]) AS [251 - 500],
SUM([501 - 1000]) AS [501 - 1000]
FROM
(SELECT
AccountGroupID,
FromHubID,
FromHubName,
ToHubID,
T_ID,
[1 - 100],
[101 - 250],
[251 - 500],
[501 - 1000]
FROM
(
SELECT
AG.AccountGroupID
,AG.FromHubID
,FH.Hub_Name AS FromHubName
,AG.ToHubID
,AG.T_ID
,CONVERT(VARCHAR , [MinWeight]) + ' - ' + CONVERT(VARCHAR ,[MaxWeight]) AS slot
,[Rate]
FROM
[CourierDev].[dbo].[AccountGroupQuotation] AS AG
INNER JOIN HubMaster AS FH ON FH.Hub_Id = AG.FromHubID
WHERE
accountgroupid = 1
)Sourcetable
PIVOT
(
Sum(Rate)
FOR slot IN ( [1 - 100],
[101 - 250],
[251 - 500],
[501 - 1000])
)AS AGQuotationList
)AS tbl
GROUP BY
FromHubID,
FromHubName,
ToHubID
我的问题是字段的插槽,它的价值是无法修复在这里,我添加静态场枢纽语法和选择语法 对于这个特殊的记录,但是如何管理数量时槽的价值和插槽的数量价值不是固定的?
例如 如果只有2记录的类型[1 - 100],[101 - 250]然后我想两个枢对于只
这里插槽是2费尔德的concatination所以我用QUOTENAME(CONVERT(VARCHAR,[MinWeight])+ ' - ' + CONVERT(VARCHAR,[MaxWeight]))的d GROUP BY CONVERT(VARCHAR,[MinWeight])+' - '+ CONVERT(VARCHAR,[MaxWeight])它在这里工作,但是当我使用'+ @ columns +'作为插槽和SUM(速率) STUFF(@ columns,1,1,'')+')它给错误无效列'插槽'如何解决这个问题? –
简单的方法是在摆放某些临时表之前放置所获得的内容,然后使用我提供的代码。 – gofr1
完美!其工作感谢你.. –