sql菜鸟,求sql

表名fruits

name quts type
名称 数量 类型
苹果 10 进
香蕉 20 进
橘子 10 进
苹果 10 出
香蕉 20 进
橘子 10 出
苹果 10 进

写一条sql显示下面的结果

名称 出库数量 进货数量 存货量
苹果 10 20 10
香蕉 0 40 40
橘子 10 10 0

[code="sql"]
SELECT t.name 名称,
SUM(CASE WHEN t.type = '出' THEN t.quts ELSE 0 END) 出库数量,
SUM(CASE WHEN t.type = '进' THEN t.quts ELSE 0 END) 进货数量,
SUM(CASE WHEN t.type = '进' THEN t.quts ELSE 0 END) - SUM(CASE WHEN t.TYPE = 'chu' THEN t.quts ELSE 0 END) 存货量
FROM fruit t
GROUP BY t.name
[/code]

很简单呀[code="java"]SELECT t.name 名称,

SUM(CASE WHEN t.type = '出' THEN t.quts ELSE 0 END) 出库数量,

SUM(CASE WHEN t.type = '进' THEN t.quts ELSE 0 END) 进货数量,

SUM(CASE WHEN t.type = '进' THEN t.quts ELSE 0 END) - SUM(CASE WHEN t.TYPE = 'chu' THEN t.quts ELSE 0 END) 存货量

FROM fruit t

GROUP BY t.name [/code]这样就可以呀。

楼上说的对

[code="java"]

SELECT
name,
sum(CASE WHEN ttype='进' THEN quts ELSE 0 END) AS tin,
sum(CASE WHEN ttype='出' THEN quts ELSE 0 END) AS tout,
sum(CASE WHEN ttype='进' THEN quts ELSE 0 END)-sum(CASE WHEN ttype='出' THEN quts ELSE 0 END)

FROM tttt

GROUP BY name

[/code]

sql的基本原理就是,每次读取的只能是一行一行的数据,利用集合函数或判断函数,对数据做下处理