SQL筛选查询问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 03:39:48
数据库中A,B两个表,共同的字段ID(唯一不重复)

现在选择A表中所有字段,B表中部分字段X1,X2,X3,X4

同时选择的记录要满足A表中a字段="否",B表中X2字段不为空 和 "不推荐"

SQL怎么写啊。。。
补充:
在此基础上,如何建立一个临时表C呢?

select A.* ,B.X1,B.X2,B.X3,B.X4 from A join B
on A.ID=B.ID where A.a字段=‘否’and B.X2 is not null and B.X2=' 不推荐 '

想要临时表就
select A.* ,B.X1,B.X2,B.X3,B.X4 into #c from A join B
on A.ID=B.ID where A.a字段=‘否’and B.X2 is not null and B.X2=' 不推荐 '
注意是临时表#c

不清楚你说的X2字段不为空 和 "不推荐",有点不大理解,是同时“不为空”又不为“不推荐”呢,还是“不为空”同时要等于“不推荐”。
另,不为空是指:不能为NULL还是不能为空字符串?

我就假设:1)同时“不为空”也不为“不推荐”了;2)不为空表示:既不为NULL,也不为空串吧:

select A.* , B.X1, B.X2, B.X3, b.X4 from A join B on a.ID=B.ID
where A.a=‘否’and isnull(B.X2,'') not in('','不推荐')

注意:A中不可以有X1~X4这四个字段,如果有,则上面的语句中需要为B.x1~X4指定新的字段名。

select * A,B.X1,B.X2,X3,X4 from B
where (A.ID=B.ID) and(A.a字段=‘否’and B.X2 不为空 or 不推荐)