select a.1,a.2,a.3 from trade a where a.1 = 1 and a.2 = 2
union all
select a.1,a.2,a.3 from trade_pre a where a.1 = 1 and a.2 = 2
请问类似上面的语句怎么精简,因为除了表名不一样其他都一样 如果字段 查询条件 能不能合一块 怎么合 新手求指教

解决方案 »

  1.   

    从查询条件来说,可以改为select * from
      (
         select a.1,a.2,a.3 from trade a
          union all
          select a.1,a.2,a.3 from trade_pre a 
      )
    where a.1 = 1 and a.2 = 2
    但不推荐这么写,同样要敲上一堆代码不说,另外,还增加了查询开销,性能不比之前的好。
      

  2.   

    这样啊,那我只好拆为2条sql在程序里拼接结果了!谢谢各位!
      

  3.   

    我不是要优化,我是要把sql语句缩短,因为太长了放不到数据库中!!!而且存sql语句的表我不能改字段属性,要不就好说了!
      

  4.   


    你的意思是要写的SQL语句存到表中,一定得有这样的需求吗? 
      

  5.   

    系统框架就这么设计的,sql语句都要入表,算了,把那条语句分成2条了,也算是解决了!