有三个表,一个是进,一个是出,一个是定义的商品信息
能用一句SQL弄出总进,总出和结存吗
表1
字段:code total_in
     0001   100
     0002    50
...
表2 
code total_out
0002   50
0004   20
...
表3
code name
0001 钢笔
0002 铅笔
0003 象皮
...我写了一句,它却不能按表的code来group by
select sum(表1.total_in), sum(表2.total_out) from 表1,表2,表3 group by
表3.code
谢先

解决方案 »

  1.   

    要先建立候选关键字,然后建立三个表之间的自然连接才能用一句sql语句写出来
      

  2.   

    加上这个
    where 表1.code=表3.code and 表2.code=表3.code
      

  3.   

    select sum(表1.total_in) as total_in, sum(表2.total_out)as tatal_out from 表1,表2,表3 
    where 表1.code=表3.code and 表2.code=表3.code
    group by 表3.code这样就对了~~~~
      

  4.   

    错了,错了,大家都错了,呵呵因为这样只能查询出2个表同时有的数据,呵呵~~  现在改正为:
    select sum(表1.total_in) as total_in, sum(表2.total_out)as tatal_out from 表1 full outer join 表2 on 表1.tatal_in=表2.tatal_out left outer join 表3 on 表1.code=表3.code and 表2.code=表3.code
    group by 表3.code这样就没有问题了~
      

  5.   

    谢谢wdwd05(☆VB-小伙~) 
    总进总出弄出来了,确实不错
    能不能弄出每件商品分别的进出和结存情况下
    其实这才是我想要的,对不起,开头没说清楚
    如:
    名称       总进          总出                结存
    钢笔        50           10                  40
    铅笔         100          50                  50
    毛笔         200          100                 100
    .........谢谢了
      

  6.   

    你可以在SQL SERVER 的 view 中创建出你想要的结果,然后在看下面的sql语句,很方便哦!