解决方案 »
- 字段名
- 从表中检索出检索出第一最小值,第二最小值,第三最小值
- 要想把tableB中的一条记录完整的复制到tableA中
- 高手请进 即时读取一个字段值并按条件返回值后判断是否执行更新
- 如果语句中包含 UNION 运算符,那么 ORDER BY 子句中的项就必须出现在选择列表中?
- 请教sql server 2008安装问题!!!
- (高分请教弱问题)查询视图时where 条件为什么不管用??(顶着有分)
- 不使用SELECT COUNT 如何获得一个表或视图或查询的记录数,急
- id自增???
- 数据库 没有服务器
- 删除重复数据问题 解决立马结帖
- SQLServer 2008 查询时会出现在执行批处理时出现错误.错误消息为:创建窗口句柄时出错.
from (select t1.品名,sum(t1.入库量-isnull(t2.出库量,0)) 数量
from 入库表 t1
left join 出库表 t2 on t1.品名=t2.品名
where convert(varchar(8),t1.入库日期,112) between 20141001 and 20141031
group by t1.品名) t
CREATE TABLE #In
(
ID INT,
[品名] VARCHAR(50),
[入库量] INT,
[入库日期] DATE
)CREATE TABLE #OUT
(
ID INT,
[品名] VARCHAR(50),
[出库量] INT,
[出库日期] DATE
)INSERT INTO #OUT
( ID, 品名, 出库量, 出库日期 )
VALUES ( 1, 'AA',80,'2014-10-12' ),(2, 'AA',50,'2014-10-30' ),( 3, 'AA',70,'2014-11-16' ),( 4, 'BB',50,'2014-11-20' )INSERT INTO #In
( ID, 品名, 入库量, 入库日期 )
VALUES ( 1, 'AA',100,'2014-10-2' ),(2, 'BB',50,'2014-10-15' ),( 3, 'AA',50,'2014-10-25' ),( 4, 'AA',100,'2014-11-5' )SELECT [品名],SUM(库存量) AS [库存量]
FROM (
SELECT [品名],
[入库量] AS [库存量]
FROM #In
WHERE [入库日期] BETWEEN '2014-10-01' AND '2014-10-31'
UNION ALL
SELECT [品名],
-[出库量] AS [库存量]
FROM #OUT
WHERE [出库日期] BETWEEN '2014-10-01' AND '2014-10-31'
) T
GROUP BY T.[品名]