2017-08-05 146 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