好像用Left/Right Join语句可以,谁能说说这怎么用?
解决方案 »
- 如何实现查询除去某一行记录外的所有记录?
- show tables 的时候,我想链接其他的表中进行查询,请问怎样实现
- 高手们快来帮帮关于mysql游标的忙吧
- 初学者问题 帮忙看看这是什么意思
- mysql数据库的一个表最多能有多少列?
- 谁能够告诉我在那里下载到MySQL啊!?
- 我没有启用二进制日志,如果误删可以通过ib_logfile文件恢复数据吗?
- MYSQL多表查询慢
- near '1,'??‰?????”??‰','35',1,35)' at line 1有人知道怎么回事吗
- MySQL修改密码
- mysql4.1 character Set 为utf8的情况下的乱码问题。。
- 小弟请教一个与JSP连接问题,请各位高手帮忙,在线等
表t1: SELECT 名称,SUM(数量) AS 合计 FROM 入货表 GROUP BY 名称;
表t2: SELECT 名称,SUM(数量) AS 合计 FROM 出货表 GROUP BY 名称;
SELECT t1.名称,(t1.合计-t2.合计) AS 库存数 LEFT JOIN t2 USING(名称);????????有没有更简单快速的方法呢各位?????????????
谢谢!
WHERE 入货表.名称 = 出货表.名称;
SELECT SUM(入货表.数量) - SUM(出货表.数量) FROM 入货表
LEFT JOIN 出货表 ON 入货表.名称 = 出货表.名称
;
就算有Group By,算出来的结果也是错误的,因为入货表里面出现多次a,Left Join会将出货表的a关联多次,如"select * from 入货表 left join 出货表 on 入货表.名称 = 出货表.名称"返回的记录是:
名称 数量 | 名称 数量
a 10 a 2
a 10 a 7
b 10 b 5
c 10 null null
a 10 a 2
a 10 a 7
================
MySql计算a的库存时:
SUM(入货表.数量)=40
SUM(出货表.数量)=18
结果a的库存是40-18=22是错误的...
本来是两个表一个UNION关系.
但是由于不能使用子查询,在UNION以后并不能进行SELECT操作.
的确伤脑筋.
mysql不支持子查询
在分别去运算的,