[英]SQL - SELECT WHERE column = TRUE AND :input = `string`
[英]SQL Select Column name where true
我有一張約有50個tinyint列的表(充當布爾值)。 這些選項為true(1)或false(0)。
我僅需要選擇正確的列(值= 1),並且需要獲取這些列的名稱。 我不知道該怎么寫。
誰能提供解決方案?
提前致謝 :)
您正在尋找UNPIVOT
解決方案。 Oracle和SQL 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.