select * from 表一,表二,表三 where ((select * 表一.字段1 from 表一 where 表一.字段2=001 and 表一.字段3=20 )+(select * 表二.字段1 from 表二)-(select * 表三.字段1 from 表三 )*(select *  表一.字段1 from 表一 where 表一.字段2=002 and 表一.字段3=46 )/(select *  表一.字段1 from 表一 where 表一.字段2=003 and 表一.字段3 =35))>=12我就是想从表一表二表三查询不同的数据然后做运算,查询运算后的列>=12的! 怎么都不对!还请各位大虾帮忙看一下!小弟新人!

解决方案 »

  1.   

    大致是这样
    where case when 表1.字段2=001 and .... then 表1.字段1 else 0 end * xxx
      

  2.   

    简单点说就是这样select * from 表一,表二where ((select * 表一.字段1 from 表一 where 表一.字段2=001 and 表一.字段3=20 )+(select * 表二.字段1 from 表二))>=12   目的是想在表一里查询出来的东西加上表二查询出来的东西,然后在查询他们两的个和大于等于12的东西
      

  3.   

    你问问题说清楚,按你的意思别人不一定理解,表1查询出来有好多东西,表2查询出来也有好多东西,两个怎么加?如果表1表2以字段1为联接
    select * from 表1,表2 where 表1.字段1=表2.字段1 and 
     表1.值1+表2.值1 >12
      

  4.   


    select * from 表一 a1,表二 b,表三 c,表一 a2,表一 a3 
    where a1.字段2=001 and a1.字段3=20
    and a2.字段2=002 and a2.字段3=46
    and a3.字段2=003 and a3.字段3=35
    and a1.字段1+b.字段1-c.字段1*a2.字段1/a3.字段1>=12
      

  5.   

    select * from 表一 a1,表二 b,表三 c,表一 a2,表一 a3 
    where a1.字段2=001 and a1.字段3=20
    and a2.字段2=002 and a2.字段3=46
    and a3.字段2=003 and a3.字段3=35
    and a1.字段1+b.字段1-c.字段1*a2.字段1/a3.字段1>=12