SELECT a.* ,b.`description`,sum(`qty`)
FROM `Stock_Moves` a LEFT JOIN `Product` b ON a.`item_code`=b.`item_code`
WHERE `loc_code`='SZW' GROUP BY `item_code`
FROM `Stock_Moves` a LEFT JOIN `Product` b ON a.`item_code`=b.`item_code`
WHERE `loc_code`='SZW' GROUP BY `item_code`
解决方案 »
- 一个变态的mysql问题求解
- mysql 里的 事件 关闭了,怎么回事
- MySQL集群设置的问题
- 关于mysql存储过程使用 check table
- 引号里嵌引号。ACMAIN_CHM,wwwwb请进
- mysql explain 察看表连接连接字段带索引但字段定义不匹配的问题
- 如何将MYSQL数据库文件转换成SQL Server
- sqlyog
- 如何在命令行中将连接时的字符集设置成utf-8,即实现jdbc:mysql://localhost/<database>?useUnicode=true&characterEncoding=utf-8
- mysql分表怎么处理比较合适?
- 数据库中的数据如何读取?
- mysql high severity error
参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
你好! 因为原表数据很多,我建了个简单的测试表。CREATE TABLE IF NOT EXISTS `order` (
`trans_no` int(11) NOT NULL,
`item_code` varchar(50) NOT NULL,
`loc_code` varchar(50) NOT NULL,
`qty` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;--
-- Dumping data for table `order`
--INSERT INTO `order` (`trans_no`, `item_code`, `loc_code`, `qty`) VALUES
(123, '001-00', 'SZW', 10),
(1234, '001-00', 'SZW', 20),
(12345, '001-00', 'SZW', 10),
(123456, '001-00', 'HKW', 20);这个是我目前用的语句:
SELECT *,sum(`qty`) FROM `order` WHERE `trans_no`=123 and `loc_code`='SZW' 我实际想要的结果是
trans_no----item_code---loc_code----sum(`qty`)
123------001-00-------SZW-----40
+----------+-----------+----------+-----+
| trans_no | item_code | loc_code | qty |
+----------+-----------+----------+-----+
| 123 | 001-00 | SZW | 10 |
| 1234 | 001-00 | SZW | 20 |
| 12345 | 001-00 | SZW | 10 |
| 123456 | 001-00 | HKW | 20 |
+----------+-----------+----------+-----+
4 rows in set (0.00 sec)mysql> SELECT *,sum(`qty`) FROM `order` WHERE `trans_no`=123 and `loc_code`='SZW' ;
+----------+-----------+----------+-----+------------+
| trans_no | item_code | loc_code | qty | sum(`qty`) |
+----------+-----------+----------+-----+------------+
| 123 | 001-00 | SZW | 10 | 10 |
+----------+-----------+----------+-----+------------+
1 row in set (0.00 sec)mysql> SELECT trans_no,item_code,loc_code,
-> (select sum(`qty`) FROM `order` WHERE `loc_code`=o.`loc_code`) as sumqty
-> FROM `order` o
-> WHERE `trans_no`=123 and `loc_code`='SZW' ;
+----------+-----------+----------+--------+
| trans_no | item_code | loc_code | sumqty |
+----------+-----------+----------+--------+
| 123 | 001-00 | SZW | 40 |
+----------+-----------+----------+--------+
1 row in set (0.00 sec)mysql>