2017-05-31 2 views

Antwort

1

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 
+0

sind Sie sicher? weil ich Ergebnis bekomme, aber nicht das richtige –

+0

@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

+0

@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. –

Verwandte Themen