日期:2014-05-17  浏览次数:20464 次

求库存表的sql语句
有表一:入库表
bh mc dj sl je
a001 铅笔 1.00 150 150.00
b001 钢笔 15.00 100 1500.00
a001 铅笔 1.20 140 168.00
b001 钢笔 20.00 80 1600.00

有表二:出库表
bh mc dj sl je
a001 铅笔 1.00 120 120.00
b001 钢笔 15.00 90 1350.00
a001 铅笔 1.20 130 156.00
b001 钢笔 20.00 70 1400.00

得到第三表。库存表 (按bh、dj求得)
bh mc dj sl je
a001 铅笔 1.00 30 30.00
b001 钢笔 15.00 10 150.00
a001 铅笔 1.20 10 12.00
b001 钢笔 20.00 10 200.00

------解决方案--------------------
SQL code

SELECT a.[bh],a.[mc],a.[dj],[sl]=a.[sl]-b.[sl], [je]=a.[je]-b.[je]
FROM [入库表] a, [出库表] b 
WHERE a.[bh]=b.[bh] AND a.[dj]=b.[dj]

------解决方案--------------------
SQL code
SELECT bh,mc,dj,SUM(sl)sl,SUM(je)je
FROM 
(
    SELECT bh ,mc ,dj ,sl ,je
    FROM 入库表
    UNION 
    SELECT bh ,mc ,dj ,-sl ,-je
    FROM 出库表    
)a
GROUP BY bh,mc,dj