2016-08-03 52 views
0

Ich habe zwei Tabellen (Defekte, sort_data) und ich möchte eine Kombination aus einer Summe und einem linken Join auf ihnen durchführen, um alle Namen von Fehlern anzuzeigen, geordnet von der höchste Gesamtsumme der Gesamtmenge in sort_data und einschließlich Defekte, die in der Tabelle sort_data nicht vorhanden sind. Siehe unten.LINKE VERBINDUNG auf einer AGGREGATE SUMME von einer anderen Tabelle

defects 
defect_name 
----------- 
Snapped  
Cracked  
Melted  
Warped  
Other  

sort_data 
defect_name |qty 
---------------- 
Snapped  |5 
Cracked  |1 
Snapped  |15 
Snapped  |10 
Melted  |2 

Desired results: 
Snapped 
Melted 
Cracked 
Other 
Warped 

Ich kann den Teil der Liste von sort_data zu schaffen, indem eine Gesamtsumme mit:

SELECT sort_data.defect_name, sum(qty) 
FROM sort_data 
GROUP BY sort_data.defect_name 
ORDER BY sum(qty) 

Ich glaube, dass ich auch eine LEFT JOIN wie:

SELECT * 
from defects 
LEFT OUTER JOIN sort_data on sort_data.defect_name = defects.defect_name 

Ich bin nicht sicher, wie man die zwei kombiniert. Hilfe wäre willkommen. Vielen Dank.

Antwort

0

JOIN links

SELECT defect.defect_name, sum(sort_data.qty) 
FROM defect 
LEFT JOIN sort_data on sort_data.defect_name = defects.defect_name 
GROUP BY sort_data.defect_name 
ORDER BY sum(sort_data.qty); 
+0

Danke, das ist genau das, was ich suchte. – SpeedD

+0

Nun, wenn die Antwort richtig ist, bitte markieren Sie es als akzeptiert – scaisEdge