select * from 
(
ID NAME NEWS ...
10001 市场部门 市场部门新闻1 ...
10002 开发部门 开发部门新闻1 ...
10003 技术部门 技术部门新闻1 ...
10002 开发部门 开发部门新闻2
10004 销售部门 销售部门新闻1
10001 市场部门 市场部门新闻2
) t
where NAME = '开发部门'将你的查询做为一个子查询

解决方案 »

  1.   

    where NAME = '开发部门' or name = '市场部门'
      

  2.   

    我用拉很复杂的SQL语句得到拉 
    --
    根据你的结果建立一个视图.
      

  3.   

    我用拉很复杂的SQL语句得到拉 
    --
    根据你的结果建立一个视图.
      

  4.   

    没看明白你说的,如果是从你生成后的结果表中查的话,你就Where Name = 'XX部门'
    如果想从原表中查的话,你可以把你的SQL语句放上来看看
      

  5.   

    1、对于单数据集上的操作,where (id = 10001 or id = 10002) and ... 是不会有迪卡积的结果的,它的结果集等于where (id = 10001) and ...   +  where (id = 10002) and ... 
    2、需要注意,对于多部门相加的操作,必须单独构成一组条件,一般用()括起来,否则就会和其他条件混淆,所以,可以这样构造界面条件:
    变量 A1,A2,A3,...,An分别绑定用户输入条件;
    设置每个变量如果为空则用一个不可能出现的id,如-9999来替换该变量
    这样构造条件语句:
    where (id = A1 OR ID = A2 OR ... OR ID = An) AND ...
      

  6.   

    ID NAME NEWS ...
    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