Bar*_* D. 5 sql sql-server select
我遇到了一个小问题,并希望得到任何帮助.
我的表是这样的:
CASH | CREDIT CARD | DEBIT CARD | ACCOUNT | OTHER
-------------------------------------------------
0.00 0.00 0.00 0.00 0.00
1.00 0.00 0.00 0.00 0.00
2.00 1.00 0.00 0.00 0.00
Run Code Online (Sandbox Code Playgroud)
我的目标是SELECT * FROM具有多个列> 0的上述任何行.
因此,在此方案中将使用上表选择第三行.
t-c*_*.dk 10
SELECT
[CASH], [CREDIT CARD], [DEBIT CARD], [ACCOUNT], [OTHER]
FROM table
WHERE
CASE WHEN [CASH] > 0 THEN 1 ELSE 0 END+
CASE WHEN [CREDIT CARD] > 0 THEN 1 ELSE 0 END+
CASE WHEN [DEBIT CARD] > 0 THEN 1 ELSE 0 END+
CASE WHEN [ACCOUNT] > 0 THEN 1 ELSE 0 END+
CASE WHEN [OTHER] > 0 THEN 1 ELSE 0 END >= 2
Run Code Online (Sandbox Code Playgroud)