语句是这样的:
(select DISTINCT t1.sfgroup,'FAB1' AS FAB from process_sort t1) UNION (select DISTINCT t2.sfgroup,'FAB3' AS FAB from Process_Sort_Bj t2) where 1=1 and t1.sfgroup like'%变量名%'请问怎么解决 解决了马上给分

解决方案 »

  1.   

    按照你的语句的意思,那个where条件应该只需要对process_sort t1进行限制吧?那这个语句这样写应该就没有问题:
    select DISTINCT t1.sfgroup,'FAB1' AS FAB from process_sort t1
    where t1.sfgroup like'%变量名%' 
    union 
    select DISTINCT t2.sfgroup,'FAB3' AS FAB from Process_Sort_Bj t2
      

  2.   

    楼上的我也想过 但问题是我用UNION连接起来的就不想再改了
      

  3.   

    用UNION连接起来的是错的也不想改么?不明白你的想法.
    再说了,如果真的只是需要对process_sort 表进行条件限制在去与别的表中的数据进行UNION,在大数据量的情况下,你用不经过修改的这种UNION的方式效率会很低的.还有,从你的语句来看,这两个子查询中的FAB的名称肯定是不一样的,因此建议你用UNION ALL,而不要用UNION.