0
A
回答
4
使用cross apply()
與values()
到逆轉置數據:
select v.Machine, v.Temperature, v.Humidity, t.Fecha
from t
cross apply (values ('DR673',DR673_T,DR673_H),('DR677',DR677_T,DR677_H)
) as v(Machine, Temperature, Humidity)
要根據列名動態生成的SQL:
declare @cols nvarchar(max), @sql nvarchar(max);
set @cols = stuff((
select distinct
',(''' + left(C.name,charindex('_',c.name)-1)
+ ''','+ quotename(C.name)
+ ','+ quotename(left(C.name,charindex('_',c.name))+'H')
+')'
from sys.columns c
where c.object_id = object_id('dbo.t')
and c.name like '%_T'
for xml path (''), type).value('.','nvarchar(max)')
,1,1,'');
set @sql = '
select v.Machine, v.Temperature, v.Humidity, t.Fecha
from t
cross apply (values '[email protected]+'
) as v(Machine, Temperature, Humidity)';
select @sql as CodeGenerated;
--exec sp_executesql @sql; /* to execute the dynamic sql */
rextester演示:http://rextester.com/NAOT80053
回報:
+---------------------------------------------------------------------------------------+
| CodeGenerated |
+---------------------------------------------------------------------------------------+
| select v.Machine, v.Temperature, v.Humidity, t.Fecha |
| from t |
| cross apply (values ('DR673',[DR673_T],[DR673_H]),('DR677',[DR677_T],[DR677_H]) |
| ) as v(Machine, Temperature, Humidity) |
+---------------------------------------------------------------------------------------+
相關問題
- 1. MSSQL ISNULL查詢
- 2. 行組中的MSSQL查詢PHP PDO
- 3. 與MSSQL查詢組數據援助
- 4. MSSQL查詢錯誤 - 無效的列名'IdCliente'
- 5. MSSQL查詢優化
- 6. MSSQL查詢優化
- 7. MSSQL查詢問題
- 8. 複雜MSSQL查詢
- 9. 不能將msSQL列名放入數組
- 10. MSSQL多列累計時間查詢
- 11. PHP PDO組查詢列名的結果
- 12. 查詢組名稱
- 13. 自動執行mssql查詢?
- 14. 節點MSSQL查詢事務
- 15. MSSQL參數化查詢
- 16. MSSQL - 遍歷新的查詢
- 17. MSSQL表查詢問題
- 18. SQL查詢不上MSSQL
- 19. MySQL到MSSQL查詢翻譯
- 20. PHP MSSQL查詢搜索
- 21. MSSQL查詢 - 數據庫
- 22. mssql到mysql查詢轉換
- 23. HIbernate + MSSQL查詢兼容性
- 24. Mssql中查詢問題
- 25. MSSQL查詢,以便從DB
- 26. SQL查詢列名
- 27. 查詢的列名
- 28. oracle查詢組列
- 29. MySQL查詢環路組列單查詢
- 30. 自連接的查詢無效的對象名稱MSSQL 2008
@GordonLinoff感謝您的錯字更正! – SqlZim
非常感謝,解決我的問題:) –
@CesarBecerra樂於幫助! – SqlZim