2017-08-05 149 views
-4

我有一個有多個列的表,每列可以有一個值爲0或1 ..我只想消除所有列都有0的行。我只想考慮行如果至少有一個列有1基於所有列的篩選器

+2

你使用哪種數據庫管理系統? – Jens

+0

這似乎很簡單...你有沒有試過做任何事情? – Hogan

回答

-1

在MySQL/ORACLE/PostgreSQL的一個值,你可以使用:

​​

Rexster demo

+1

對於downvoter,你至少應該發表評論。 – lad2025

+2

可能downvoter沒有意識到唯一有效值是0或1(像我一樣):D – Hogan

-1

在SQL Server中,你可以使用OR:

SELECT * 
FROM table 
WHERE [column1] = 1 OR [column2] = 1... 
0
SELECT * 
FROM A_TABLE_YOU_DID_NOT_NAME 
WHERE col1 + col2 + ... + colN >= 1 

將不會返回全是0並且其中至少有一個將是1

+0

有一個可能的缺點。如果一列包含「NULL」,則整個條件將是「UNKNOWN」。您還應該添加「FROM」子句 – lad2025

+0

@ lad2025 - 當存在語句「每列可以具有0或1的值」時,不包括NULL。關於FROM子句的好處,我在。 – Hogan