请问这句sql怎么写 oracle 中用:select 仓库, sum(decode(操作,出库,-1,1) * 数量), 货物 from table group by 仓库,货物 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谢谢rjcludy() ,但是sql server 中咱办 SQl Server:select 仓库, sum(case when 操作 = 出库 then -1 else 1 end) * 数量), 货物 from table group by 仓库,货物 sql server应该是:把上面的 decode(操作,出库,-1,1) * 数量改为 (case when 操作 = 出库 then -1 when 操作 = 入库 then 1)(sqlserver 我刚学几天,你试一试看可不可以,要是不行那我就不懂了, 现在出差在外,手头上没有资料) 这样的情况,oralce中用decode,sql server中用case.不过据说最新版的oracle也支持case语法. 对,同意rjcludy()和leeyoong,不过要注意加单引号,他们肯定都知道,呵呵... 假设所建表名为storecountSELECT 仓库, 货物, SUM((CASE WHEN 操作 = '入库' THEN 1 WHEN 操作= '出库' THEN - 1 END) * 数量)FROM storecountWHERE 仓库 = '001'GROUP BY 仓库, 货物 求SQL区的大神帮帮我 请教一个SQL的写法(关于产品子结构方面的) 查看数据库空间大小的问题 怎样用Select 语句查询存储过程的结果 有两张结构完全相同的表,只是记录内容不同,如何联合查询这两张表的总记录数? 求个格式化日期的sql 存储过程里支持自定义函数吗? 查两个表速度问题..急... 数据导出问题-在线等,各位大人醒目 asp中mssql写入null时间还是变成了1900-01-01 sql server能否控制输出多少行? 分数给双份,熟悉SQL2000+ADO2.6的朋友帮帮手
select 仓库, sum(case when 操作 = 出库 then -1 else 1 end) * 数量), 货物 from table
group by 仓库,货物
把上面的 decode(操作,出库,-1,1) * 数量
改为 (case when 操作 = 出库 then -1
when 操作 = 入库 then 1)
(sqlserver 我刚学几天,你试一试看可不可以,要是不行那我就不懂了,
现在出差在外,手头上没有资料)
不过据说最新版的oracle也支持case语法.
SELECT 仓库, 货物,
SUM((CASE WHEN 操作 = '入库' THEN 1 WHEN 操作= '出库' THEN - 1 END)
* 数量)
FROM storecount
WHERE 仓库 = '001'
GROUP BY 仓库, 货物