2017-01-25 5 views
1

Here is the result table images.I want to print out these available units using sum function.Kombiniert zwei Abfragen führen zu einem

1) Abfrage No 1

SELECT SUM(inventory.inn-inventory.out_inv) AS available_units 
FROM products 
LEFT JOIN inventory on inventory.product_id=products.product_id 
GROUP BY inventory.product_id 

2) Abfrage No 2

SELECT products.product_manual_id,products.product_name,products.product_description,products.product_unit,product_categories.category_name,products.product_image,price.cost ,price.selling_price 
FROM products,stores,product_taxes ,price,product_categories 

WHERE (products.store_id=2 AND product_taxes.tax_id=products.tax_id AND price.product_id=products.product_id OR product_categories.category_id=products.category_id) AND (products.product_id <=31 AND products.product_id >=29 ) 
GROUP By products.product_name ORDER BY products.product_name ASC 

I kombiniert wollen, dass diese beiden Abfragen die Ergebnisse resluts. Wie kann ich es angehen? Ich habe viele Alternativen versucht. Wer mir eine Antwort gibt, wird von mir geschätzt. Danke im Voraus.

Antwort

0

könnten Sie zwei verwenden Auswahltabelle beitreten, indem product_id

select t1.*, t2.* from ( 
    SELECT 
      products.product_id 
     , SUM(inventory.inn - inventory.out_inv) AS available_units 
    FROM products 
    LEFT JOIN inventory on inventory.product_id=products.product_id 
    GROUP BY inventory.product_id 
    ) t1 
    left join (
    SELECT 
     products.product_manual_id 
     ,products.product_id 
     ,products.product_name 
     ,products.product_description 
     ,products.product_unit 
     ,product_categories.category_name 
     ,products.product_image 
     ,price.cost 
     ,price.selling_price 
    FROM products,stores,product_taxes ,price,product_categories 
    WHERE (products.store_id=2 
      AND product_taxes.tax_id=products.tax_id 
      AND price.product_id=products.product_id 
      OR product_categories.category_id=products.category_id) 
    AND (products.product_id <=31 AND products.product_id >=29 ) 
    GROUP By products.product_name 

    ) t2 on t1.product_id = t2.product_id 
    ORDER BY t2.product_name ASC 
+0

Ich habe dies schon versuchen, diese eror occure während der Abfrage run ‚Unknown column 't1.products.product_id' in 'on-Klausel' @scaisEdge –

+0

@ MuhammadMehdi Antwort aktualisiert Hoffnung ist das, was Sie suchen – scaisEdge

+0

Vielen Dank, aber es funktioniert auch nicht wieder unbekannte Spalte eror occure. –

Verwandte Themen