select * from
(
ID NAME NEWS ...
10001 市场部门 市场部门新闻1 ...
10002 开发部门 开发部门新闻1 ...
10003 技术部门 技术部门新闻1 ...
10002 开发部门 开发部门新闻2
10004 销售部门 销售部门新闻1
10001 市场部门 市场部门新闻2
) t
where NAME = '开发部门'将你的查询做为一个子查询
(
ID NAME NEWS ...
10001 市场部门 市场部门新闻1 ...
10002 开发部门 开发部门新闻1 ...
10003 技术部门 技术部门新闻1 ...
10002 开发部门 开发部门新闻2
10004 销售部门 销售部门新闻1
10001 市场部门 市场部门新闻2
) t
where NAME = '开发部门'将你的查询做为一个子查询
--
根据你的结果建立一个视图.
--
根据你的结果建立一个视图.
如果想从原表中查的话,你可以把你的SQL语句放上来看看
2、需要注意,对于多部门相加的操作,必须单独构成一组条件,一般用()括起来,否则就会和其他条件混淆,所以,可以这样构造界面条件:
变量 A1,A2,A3,...,An分别绑定用户输入条件;
设置每个变量如果为空则用一个不可能出现的id,如-9999来替换该变量
这样构造条件语句:
where (id = A1 OR ID = A2 OR ... OR ID = An) AND ...
10001 市场部门 市场部门新闻1 ...
10002 开发部门 开发部门新闻1 ...
10003 技术部门 技术部门新闻1 ...
10002 开发部门 开发部门新闻2
10004 销售部门 销售部门新闻1
10001 市场部门 市场部门新闻2
我用拉很复杂的SQL语句得到拉 上面的结果
---
你可以建立一个视图base on 你的查询结果我想用 SQL 语句直接 查询 开发部门 + 市场部门的 所有的新闻 怎么办?
用where 条件 ID=2 or ID=1的 这样的话 就会产生 迪卡积太多啦。。
---
你可以这样查询:
select * from view
where ID=2
union
select * from view
where ID=1