我的表1 中有 a、b、c、d……k 12个字段,现在想给他们每个字段设计一个标记,比如atag,btag,……ktag,当标记为2时,就将对应的字段相加,为1时不相加。
我的思路是:SELECT a + b+c+……+K AS SUM
FROM 表1
WHERE a IN
((SELECT a
FROM 表1
WHERE aTag = 2)
WHERE b IN
(SELECT b
FROM 表1
WHERE btag = 2))……WHERE K IN
(SELECT K
FROM 表1
WHERE Ktag = 2))但是不行,无法查询到我想要的结果,希望大家帮帮忙!语句如何实现,或者是我改改思路! 谢谢大家!
我的思路是:SELECT a + b+c+……+K AS SUM
FROM 表1
WHERE a IN
((SELECT a
FROM 表1
WHERE aTag = 2)
WHERE b IN
(SELECT b
FROM 表1
WHERE btag = 2))……WHERE K IN
(SELECT K
FROM 表1
WHERE Ktag = 2))但是不行,无法查询到我想要的结果,希望大家帮帮忙!语句如何实现,或者是我改改思路! 谢谢大家!
SELECT a + b+c+……+K AS SUM
FROM 表1
WHERE a IN
((SELECT a
FROM 表1
WHERE aTag = 2)
and b IN
(SELECT b
FROM 表1
WHERE btag = 2))……and K IN
(SELECT K
FROM 表1
WHERE Ktag = 2))
select a=(case x when 1 then a else 0 end),b=(case x when 1 then 0 else b end),a+b, from tables
用这个吧类似如下
select (case x when 3 then a+b+c when 2 then a+d else b+d end) as x from tablex