以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  sql 查询问题 求指教  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73575)

--  作者:896539326
--  发布时间:2015/8/21 21:44:00
--  sql 查询问题 求指教
表a 存货编号  数量
       01           2  
       02           4
       03           6
表b 存货编号  数量
       01           2
       02           3
    
求表c 得到
      存货编号   数量
       02           1
       03           6
怎么求表c (表a和表b中有相同存货编号的话 数量就相减,为0的存货编号 舍去,不为0的留下放表c中,表a在表b中不存在的编号也留下放在表c中。)
SQL 该怎么写呢? 求大神指教!

--  作者:y2287958
--  发布时间:2015/8/21 22:42:00
--  
Dim q As new QueryBuilder
q.TableName = "a"
Dim sql As String = "Select {表A}.存货编号,iif({表A}.数量 is null,0,{表A}.数量)-iif({表B}.数量 is null,0,{表B}.数量) As [数量]"
sql += "F rom {表B} Right JOIN {表A} ON {表A}.[存货编号] = {表B}.[存货编号]"
sql += " where iif({表A}.数量 is null,0,{表A}.数量)<>iif({表B}.数量 is null,0,{表B}.数量)"
q.SelectString = sql
q.Build
MainTable = Tables("a")

--  作者:896539326
--  发布时间:2015/8/21 22:49:00
--  
多谢 我已经用sql 写出来了