Hallo Stoni,
Wenn die Tabelle Liferanten ergänzt ist:
Tabelle "Lieferanten"
l_id Lieferant Ort
1 Otto Hamburg
2 Conrad Hirschauwarum geht dann .. nicht?
SELECT
Lieferant,
Ort,
-- weil Du nach jeder Spalte, auf die keine Aggregatsfunktion
-- angewandt wird, gruppieren musst. Das einzige mir bekannte
-- DBMS, das die extrem nervende Angewohnheit hat, soetwas nicht
-- als Syntax-Error durchgehen zu lassen, ist MySQL. Ein ständige
-- Fehlerquelle, die für viele Postings hier im Forum sorgt.
-- Da der Ort für alle Lieferanten gleich sein sollte (wir
-- vernachlässigen hier die Filialen :-)), reicht es Ort der
-- GROUP-BY-Klausel hinzuzufügen
MAX(CASE WHEN Produkt = 'Fernseher' THEN 'X' ELSE 'O' END) AS 'Fernseher',
MAX(CASE WHEN Produkt = 'Kleid' THEN 'X' ELSE 'O' END) AS 'Kleid',
MAX(CASE WHEN Produkt = 'Lötkolben' THEN 'X' ELSE 'O' END) AS 'Lötkolben'
FROM
(Lieferanten L
INNER JOIN WerLiefertWas W
ON L.l_id = W.l_id)
INNER JOIN Produkte P
ON W.p_id = P.p_id
-- GROUP BY Lieferant
GROUP BY Lieferant, Ort
Freundliche Grüße
Vinzenz