簡體   English   中英

SQL查找表中所有列的SUM大於零的所有列的名稱

[英]SQL to find the names of all columns in a table where the SUM of the column is greater than zero

我在SQL Sever 2005中有一個表,其中許多列僅包含NULL或0或0.0。 我希望查詢查找該表中SUM大於0的每一列的名稱,即該表至少包含一行,其值不為null且大於零。

謝謝。

我認為最簡單的方法是將以下語句的輸出作為腳本運行。

SELECT  SELECT COUNT(*), ''' + name + ''' FROM dbo.ATable WHERE ' + name + '> 0'
FROM    sys.columns sc
WHERE   OBJECT_NAME(OBJECT_ID) = 'ATable'

我不了解系統表,但是您可以通過查看各個列的類型來排除不是數字的任何內容。 如果我沒記錯的話,您可以加入sys.types

如果您需要通用解決方案,則可以保留傳遞給execsql的動態語句,但是一次性解決此問題可能會過頭。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM