我要这样的 WHERE 才 SUM, 它没满足 where 咋也 sum 了?
他俩品名不一样,怎么给加上了。一个名为CP,一个名为CP2,不应该加一起去啊。
SQL code
C/C++ code
SQL code
SQL code
mysql> DESCRIBE LSB// +-------+-----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-----------+------+-----+---------+-------+ | 品名 | char(255) | NO | PRI | | | | 颜色 | char(255) | NO | PRI | | | | 规格 | char(255) | NO | PRI | | | | 单位 | char(255) | NO | PRI | | | +-------+-----------+------+-----+---------+-------+ 4 rows in set (0.01 sec)。 mysql> DESCRIBE 入库单表// +------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+----------+------+-----+---------+-------+ | 单号 | text | YES | | NULL | | | 入库日期 | datetime | YES | | NULL | | | 品名 | text | YES | | NULL | | | 供货商编号 | text | YES | | NULL | | | 颜色 | text | YES | | NULL | | | 规格 | text | YES | | NULL | | | 数量 | int(11) | YES | | NULL | | | 单位 | text | YES | | NULL | | | 单价 | double | YES | | NULL | | | 金额 | double | YES | | NULL | | +------------+----------+------+-----+---------+-------+ 10 rows in set (0.00 sec) mysql> SELECT*FROM 入库单表// +------+---------------------+--------------+----------------+------+------+---- --+------+------+------+ | 单号 | 入库日期 | 品名 | 供货商编号 | 颜色 | 规格 | 数 量 | 单位 | 单价 | 金额 | +------+---------------------+--------------+----------------+------+------+---- --+------+------+------+ | 001 | 2011-05-16 16:03:02 | CP | | | | 1 2 | | 5 | 60 | | | 2011-05-23 15:21:29 | 水杯 | | 白 | | 0 | | 0 | 0 | | | 2011-05-23 15:21:29 | 水杯 | | 白 | | 0 | | 0 | 0 | | | 2011-05-23 15:21:29 | SQL 入门经典 | 人民邮电出版社 | | | 0 | | 0 | 0 | | | 2011-05-24 20:52:12 | CP2 | | | | 5 | | 0 | 0 | +------+---------------------+--------------+----------------+------+------+---- --+------+------+------+ 5 rows in set (0.00 sec) mysql> SELECT * FROM LSB// +--------------+------+------+------+ | 品名 | 颜色 | 规格 | 单位 | +--------------+------+------+------+ | CP | | | | | CP2 | | | | | SQL 入门经典 | | | | | 水杯 | 白 | | | +--------------+------+------+------+ 4 rows in set (0.00 sec)
C/C++ code
mysql_query(conn,"insert into lsb_rkzl select 入库单表.品名, 入库单表.颜色, 入库单表.规格, 入库单表.单位, SUM(数量) FROM 入库单表 \ INNER JOIN LSB \ ON \ LSB.品名 = 入库单表.品名 AND \ LSB.颜色 = 入库单表.颜色 AND \ LSB.规格 = 入库单表.规格 AND \ LSB.单位 = 入库单表.单位 " );
SQL code
mysql> SELECT * FROM LSB_RKZL// +------+------+------+------+------+ | 品名 | 颜色 | 规格 | 单位 | 总量 | +------+------+------+------+------+ | CP | | | | 17 | +------+------+------+------+------+ 1 row in set (0.00 sec)
作者: xiaoyuanyuan2009 发布时间: 2011-05-24
你的GROUP BY在哪儿?
直接把你的 select 入库单表.品名, 入库单表.颜色, 到MYSQL中试一下。
直接把你的 select 入库单表.品名, 入库单表.颜色, 到MYSQL中试一下。
作者: ACMAIN_CHM 发布时间: 2011-05-24
LSB的四个列都是primary key?
作者: rucypli 发布时间: 2011-05-24