2017-09-29 66 views
0

我有許多分散在多個動態命名日期(例如2017_09_28)列的0表。我想隱藏所有這些動態命名柱網爲0。如何從臨時表中總結動態字段名稱

總和假設我要創建一個select語句的行...

SELECT * FROM (
Select *, (dynamic column 1 + dynamic column 2 + dynamic column 3) sum 
FROM temp table) sbqy WHERE sum != 0 

不知道如何抓住所有的動態列名!如果有另一種解決方案,所有的耳朵,但不能拼出每個動態列,太多,並將逐周改變。

+0

運行它,你能提供你的表結構和一些sampleData在嗎? – Tyron78

回答

1

您可以使用動態SQL創建一個字符串,然後用sp_executesql

declare @cmd varchar(4000) = '' 

set @cmd = 'select * from temptable where ' + case when someLogicHere then 'dynamicColomn1' end + case when someLogicHere then '+ dynamicColomn2' end 
+ case when someLogicHere then 'dynamicColomn3' end + ' !=0' 

--print(@cmd) 
exec sp_executesql @cmd 
+0

謝謝。對此感到害怕。 – Nicho247