Mark Knochen Wrote:
-------------------------------------------------------
> Mir ist auch klar, dass es theoretisch natürlich
> auch eine WHERE / JOIN Abfrage bringen kann, aber
> die Abfrage oben ist sehr stark gekürzt - da
> hängt noch bedeutend mehr dran.
Nach wie vor verstehe ich es nicht, warum es so schwierig ist, ein sinnvolles nachvollziehbares kleines Beispiel zu erstellen. Na ja, schaue ich mal in meine Glaskugel und mach eine kleine Lösung die "..sehr stark gekürzt.." ist und eventuell nichts mit der Frage zu tun hat.
CREATE TABLE items (
ItemName VARCHAR(10) NOT NULL,
itemId INT NOT NULL
);
INSERT INTO items VALUES
( 'Suit1' , 1 ),
( 'Suit2' , 2 ),
( 'Suit3' , 3 );
CREATE TABLE items_stock (
itemStockId INT NOT NULL,
itemId INT NOT NULL,
PhysicalStock INT NOT NULL
);
INSERT INTO items_stock VALUES
( 1, 1, 10 ),
( 2, 1, 5 ),
( 3, 2, 20 ),
( 4, 2, 5 ),
( 5, 3, 30 ),
( 6, 3, 5 );
SELECT
i.itemname,
( SELECT SUM(its.PhysicalStock)
FROM items_stock AS its
WHERE its.itemId = i.itemId
) AS stockValue
FROM items i
WHERE i.ItemName LIKE 'Sui%';
+----------+------------+
| itemname | stockValue |
+----------+------------+
| Suit1 | 15 |
| Suit2 | 25 |
| Suit3 | 35 |
+----------+------------+
3 rows in set (0.00 sec)
mysql>
Grüße
Thomas