Ich hatte gerade eine Frage über Aliase gestellt und gelernt, dass eine Unterabfrage in einer FROM-Klausel Alias durch Setzen von "AS [Alias-Name]" sein muss. Jetzt laufe ich immer noch auf dasselbe Problem zu.MySQL-Fehler 1248, Erstellen der richtigen Abfrage. x3 Natürliche Joins
Ich versuche, 4 Beziehungen Produkt, Laptop, PC und Drucker zu verbinden.
Ich kann SELECT * FROM product NATURAL JOIN pc;
sehr gut und einfach tun. Aber ich versuche zu tun
SELECT * FROM product NATURAL JOIN pc, laptop, printer;
was ich wusste, würde wahrscheinlich nicht funktionieren, wenn ich es versuchte.
So bin ich zur Zeit auf
SELECT *
FROM (
SELECT * FROM (
SELECT * FROM product NATURAL JOIN pc AS prod_pc
) AS prod_pc_lap NATURAL JOIN laptop
) NATURAL JOIN printer;
Aber ich halte einen 1248 Fehler.
Beachten Sie, dass jeder Primärschlüssel für Beziehungen "Modell" ist.
ich meine Antwort gelöscht, weil ich nicht bin zu verstehen, was Ausgabe, die Sie erwarten. Ich frage mich, ob Sie hier wirklich einen Stapel von 'UNION's brauchen, da Drucker sich nicht auf PCs beziehen. –
Ich denke, was ich versuche zu tun ist 'SELECT Modell, Preis von (SELECT * FROM Produkt LINKS JOIN Drucker, Laptop, PC ON Produkt.Model = printer.model = Laptop.model = PC-Modell)' Ich weiß Das ist keine korrekte Syntax, aber ich denke, Sie könnten verstehen, was ich damit meine. Produkt (Hersteller, Modell, Typ) Laptop (Modell, Preis, Geschwindigkeit, Widder, hd, Bildschirm) PC (Modell, Preis, Geschwindigkeit, Widder, hd) Drucker (Modell, Preis, Farbe, Preis) –