2016-06-02 13 views
0

So habe ich zwei Tabellen:MQL, PHP alle aus zwei Tabellen auswählen?

order_product 

-------------------------------------------------- 
| ProductID  | Quantity   
-------------------------------------------------- 

products 

------------------------------------------------------------- 
| ProductID  | productname | Desc | Price | Stock | Image  
------------------------------------------------------------ 

und ich brauche alle die gleichen Produkt-ID zu bekommen, zeigt ihre Menge dann mal, dass die Gesamtsumme aller von ihrem Preis und zeigt.

Mein Problem ist, ich versuche eine Checkout-Seite zu zeigen, die alles in einer Liste zeigt, aber wie kombiniere ich die beiden Tabellen? Außerdem gibt es keine Fremdschlüssel für die erste Tabelle.

Ich brauche dies in einer SQL-Anweisung vorzugsweise als auch, wie:

$sql = 'SELECT...' 

würde diese Arbeit?

$sql = "SELECT * FROM order_products 
UNION 
SELECT * FROM products" 

Wenn ja, woher weiß ich, welche Zeile welche ist?

Meine gewünschte Ausgabe ist alle Einträge, nun wie folgt aussehen:

ProductID  | Quantity | Productname | Desc | Price | Stock | Image 
+0

Verbindung mit product_id? – jitendrapurohit

+0

Wie mache ich das in PHP? – Emolk

+0

Können Sie ein Beispiel für die Ausgabe geben, die Sie erhalten möchten? – jussius

Antwort

1

Sie benötigen eine klassische JOIN Klausel:

SELECT * 
    FROM products 
LEFT JOIN order_products on products.ProductId = order_products.ProductId 
+0

Wie würde der Tisch dann aussehen? – Emolk

+0

$ sql = "SELECT * FROM Produkte LEFT JOIN order_products auf products.PRODUCTID = order_products.PRODUCTID"; Also würde dies die beiden Tabellen nur auf meiner PHP-Datei richtig verbinden? – Emolk

+0

Rechts. Solange Sie diesen SQL-Satz ausführen, natürlich. –

-1

diese eine ausprobieren.

SELECT ProductID, Quantity, ProductID, productname, Desc, Price, Stock, Image 
FROM order_product, products 
INNER JOIN order_product.ProductID ON products.ProductID; 
0
select table1.ProductID 
    , table1.Quantity 
    , table2.Productname 
    , table2.Desc 
    , table2.Price 
    , table2.Stock 
    , table2.Image 
FROM table1 
JOIN table2 ON table1.productid=table2.productid 
0

Mein Problem ist, ich versuche, eine Kasse Seite zu zeigen, die alles in einer Liste zeigt, aber wie kombiniere ich die beiden Tabellen?

Sie müssen lediglich mysql verwenden JOINcart Elemente anzuzeigen.

Ihre Tabellendaten sollten wie in Demo hinzugefügt werden.

Siehe SQL Fiddle Demo

SELECT 
    o.id 'orderId', 
    o.ProductID 'pid', 
    SUM(o.Quantity) 'qty', 
    p.productname 'product', 
    p.`Price` 'price' 
FROM 
    order_product o 
    INNER JOIN products p 
    ON p.`ProductID` = o.`ProductID` 

bearbeiten Required Ausgabe

Meine gewünschte Ausgabe alle Einträge ist, nun wie folgt aussehen:
ProductID | Menge | Produktname | Desc | Preis | Stock | Bild

Ändern oben Abfrage SELECT Teil SELECT tablename.your_column .....

0

nicht sicher, was genau ist die Ausgabe, die Sie wollen bekommen, aber Sie sollten so etwas wie dieses

SELECT o.ProductID, o.Quantity, p.Price, o.Quantity * p.Price 
FROM order_product o 
LEFT JOIN products p ON o.ProductID = p.ProductID 
0

Verwenden INNER JOIN verwenden.

Select * from order_products op INNER JOIN products p ON p.ProductID = op.ProductID; 

w.r.t.Ihr Bedarf, die obige Abfrage muss geändert werden, um: -

"SELECT *, 
     SUM(op.quantity * p.price) AS grandTotal 
    FROM order_products op 
    INNER JOIN PRODUCT p ON p.ProductID = op.ProductID WHERE p.ProductID =".$prodId(your php variable of product id); 
Verwandte Themen