MySQL fråga
Jag har en databas och när jag skriver
select jbsupplier.name, (jbsupply.quan * jbparts.weight)
from jbsupplier
inner join jbsupply
on jbsupplier.id = jbsupply.supplier
inner join jbparts
on jbsupply.part = jbparts.id
where jbsupplier.city in (select id from jbcity where jbcity.state = 'Mass');
Får jag följande tabell
+--------------+----------------------------------+
| name | (jbsupply.quan * jbparts.weight) |
+--------------+----------------------------------+
| DEC | 10 |
| DEC | 10 |
| DEC | 640 |
| DEC | 640 |
| Fisher-Price | 685000 |
| DEC | 1370 |
| Fisher-Price | 450000 |
| DEC | 450 |
+--------------+----------------------------------+
8 rows in set (0,01 sec)
Vad jag vill ha är dock en lista där varje name står en gång och summan av varje (jbsupply.quan * jbparts.weight) står till höger.
Men när jag skriver
select jbsupplier.name, SUM(jbsupply.quan * jbparts.weight)
from jbsupplier
inner join jbsupply
on jbsupplier.id = jbsupply.supplier
inner join jbparts
on jbsupply.part = jbparts.id
where jbsupplier.city in (select id from jbcity where jbcity.state = 'Mass');
får jag
+------+-------------------------------------+
| name | SUM(jbsupply.quan * jbparts.weight) |
+------+-------------------------------------+
| DEC | 1138120 |
+------+-------------------------------------+
1 row in set (0,01 sec)
Varför slås DEC och Fisher-Price ihop?