Wie Sie diese 3 Tabellen hier beitreten.Wie Sie diese Tabellen verbinden MYSQL
Ich mag die Produktnamen erhalten.
Die SQL-Abfrage gibt Null Spalte zurück .. was mache ich falsch?
Wie Sie diese 3 Tabellen hier beitreten.Wie Sie diese Tabellen verbinden MYSQL
Ich mag die Produktnamen erhalten.
Die SQL-Abfrage gibt Null Spalte zurück .. was mache ich falsch?
In Ihrer Abfrage verbinden Sie Ihre orders.id_order=products.id_product
, aber es scheint, als ob Sie order_detail.productid=products.id_product
beitreten müssen. So würde ich vorschlagen, gehen Sie bitte zum Ändern:
SELECT
od.productid,
p.name_product -- added name column
FROM order_detail od
INNER JOIN orders o
ON o.id_order = od.orderid
INNER JOIN products p
ON od.productid=p.id_product
Sie werden bemerken, dass ich einige Tabellen-Aliases hinzugefügt, um den Code etwas prägnanter zu machen. Auch wenn Sie nicht über die orders
Tabelle in Ihrem Endergebnis verwenden müssen, dann könnte man es Beitritt fallen:
SELECT
od.productid,
p.name_product
FROM order_detail od
INNER JOIN products p
ON od.productid=p.id_product
sind Sie sicher? weil ich Ergebnis bekomme, aber nicht das richtige –
@GoranAhibit Welches Ergebnis erhalten Sie? Und was ist das gewünschte Ergebnis, das Sie wollen? Möglicherweise müssen Sie Ihre Frage bearbeiten, um einige Beispieldaten und das endgültige gewünschte Ergebnis einzubeziehen. – ollie
@GoranAhibit: Können Sie bitte die erwartete Ausgabe und die Ausgabe teilen, die Sie bekommen? In jedem Fall ist die Verbindung von 'int' mit' varchar' ohne Casting (wie in Ihrem Diagramm) niemals eine gute Idee und wird zwangsläufig zu irrationalen Ausgaben führen. –