簡體   English   中英

SQL選擇列名稱,其中為true

[英]SQL Select Column name where true

我有一張約有50個tinyint列的表(充當布爾值)。 這些選項為true(1)或false(0)。

我僅需要選擇正確的列(值= 1),並且需要獲取這些列的名稱。 我不知道該怎么寫。

誰能提供解決方案?

提前致謝 :)

您正在尋找UNPIVOT解決方案。 OracleSQL Server支持UNPIVOT ,但我懷疑您沒有使用這些數據庫。 因此,請手動對其進行硬編碼:

SELECT id, 'col1' AS col
WHERE col1 = 1
UNION ALL
SELECT id, 'col2' AS col
WHERE col2 = 1
...
UNION ALL
SELECT id, 'col50' AS col
WHERE col50 = 1

如果您的表包含幾行,我會在此處放置一個假設的id列。 如果僅包含一行,則可能不需要該id列。

暫無
暫無

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

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