moin,
jedes andere dbms würde dir bei dieser abfrage eine fehlermeldung ausgeben, nur mysql läßt solche fragwürdigen abfragen zu und dabei kommt es dann zu merkwürdigen ergebnissen. auch der weg über einen OUTER JOIN erscheint mir nicht sinnvoll zu sein. was du willst ist eine korrelierte unterabfrage.
SELECT a.produkt,
(SELECT SUM(ar.lager1) FROM artikel_reserviert ar WHERE ar.anr = a.anr) Reserviert,
(SELECT SUM(b.bmenge) FROM bestellung b WHERE b.anr = a.anr) Bestellt
FROM artikel a
WHERE artikel.anr='121'
;
Ilja