Sql 检查表列是否至少包含一个值!=0
我有一张这样的桌子:Sql 检查表列是否至少包含一个值!=0,sql,sqlite,Sql,Sqlite,我有一张这样的桌子: id | name | priceEUR | priceCHF | priceUK | priceRUB -------------------------------------------------------------- 1 | 00A | 0 | 0 | 0 | 0 2 | 00B | 10 | 0 | 0 |
id | name | priceEUR | priceCHF | priceUK | priceRUB
--------------------------------------------------------------
1 | 00A | 0 | 0 | 0 | 0
2 | 00B | 10 | 0 | 0 | 0
3 | 00C | 0 | 0 | 20 | 0
4 | 00D | 0 | 0 | 0 | 0
5 | 00E | 0 | 50 | 0 | 0
6 | 00F | 0 | 0 | 0 | 0
7 | 00G | 0 | 0 | 0 | 0
8 | 00H | 12 | 0 | 0 | 0
9 | 00I | 0 | 13 | 70 | 0
.. | ... | .. | .. | .. | ..
n | 99Z | 0 | 1 | 0 | 0
priceEUR | priceCHF | priceUK | priceRUB
----------------------------------------------
10 | 50 | 20 | 0
我需要知道每一列在整个表中是否至少包含一个price!=0
,因此结果应该如下所示:
id | name | priceEUR | priceCHF | priceUK | priceRUB
--------------------------------------------------------------
1 | 00A | 0 | 0 | 0 | 0
2 | 00B | 10 | 0 | 0 | 0
3 | 00C | 0 | 0 | 20 | 0
4 | 00D | 0 | 0 | 0 | 0
5 | 00E | 0 | 50 | 0 | 0
6 | 00F | 0 | 0 | 0 | 0
7 | 00G | 0 | 0 | 0 | 0
8 | 00H | 12 | 0 | 0 | 0
9 | 00I | 0 | 13 | 70 | 0
.. | ... | .. | .. | .. | ..
n | 99Z | 0 | 1 | 0 | 0
priceEUR | priceCHF | priceUK | priceRUB
----------------------------------------------
10 | 50 | 20 | 0
返回值在列中是否最高并不重要,我只需要知道特定价格是否有一个值!=0
请注意,这些列的类型为TEXT
。只需一次查询就可以获得此结果?试试以下方法:
SELECT MAX(priceEUR),MAX(PriceCHF),MAX(priceUK),MAX(priceRUB)
from myTABLE
试试这个:
SELECT MAX(priceEUR),MAX(PriceCHF),MAX(priceUK),MAX(priceRUB)
from myTABLE
如果您不关心值,为什么不
选择sum(priceEUR)、sum(priceCHF)、sum(…)
如果您不关心值,为什么不选择sum(priceEUR)、sum(priceCHF)、sum(…)