查询多列数据只为一种情况
例如表ss有A,B,C三列,
数据如下:
A B C
1 AA AA NULL
2 BB NULL NULL
3 NULL NULL NULL
4 CC BB NULL
5 DD DD DD
怎样查出A,B,C三列都不为NULL,并且数据相同的记录?
符合要求的为1,2,5行
[解决办法]
没看清楚,再来:
select *
from ss
where A=ISNULL(B,A) and b=ISNULL(c,a) and a is not null
[解决办法]
SELECT * FROM ss
WHERE
ss.A is not null and ss.B is not null and ss.c is not null
and
(
(ss.A=ISNULL(ss.B,ss.A) or ss.A=ISNULL(ss.C,ss.A))
OR (ss.B=ISNULL(ss.A,ss.B) or ss.B=ISNULL(ss.C,ss.B))
OR (ss.C=ISNULL(ss.A,ss.C) or ss.C=ISNULL(ss.B,ss.C))
)