2016-07-25 8 views
0

Wie kann ich wählen * FROM Tabelle zwei und zählen (t_type) FROM Tabelle eine WHERE Spezies in der Tabelle ein und zweiSelect * FROM Tabelle zwei und zählen (coulmn_name) FROM Tabelle ein

Tabelle one = Bäume

gleich sind
id | t_type 
~~~~~~~~~~~~ 
1 | Tree one 
2 | Tree two 
3 | Tree Three 
4 | Tree Four 
5 | Tree one 

Tabelle zwei = anfordert

id | req_species 
~~~~~~~~~~~~ 
1 | Tree one 
2 | Tree two 
3 | Tree one 
4 | Tree two 

Die zurückgegebenen Tabelle gleiche Anzahl von Zeilen wie aus Tabelle zwei (Anfragen), in diesem Fall 4 Reihen haben.

Erwartete Ausgabe

species | Qunatity 
~~~~~~~~~~~~ 
Tree one | 2 
Tree two | 1 
Tree one | 2 
Tree two | 1 

Antwort

0

Ein Verfahren verwendet eine korrelierte Unterabfrage:

select r.species, 
     (select count(*) from trees t where t.species = r.species) as quantity 
from requests r; 
+0

Ist es möglich, * FROM r SELECT? –

+0

@SaiKiranVeeraneni. . . Na sicher. Sag einfach 'r. *' Statt 'r.species'. –

0
SELECT COUNT(T1.t_type) AS QUALITY,T1.t_type 
FROM TABLE_1 AS T1 WHERE T1.t_type IN 
    (SELECT T2.req_species FROM TABLE_2 AS T2) 

GROUP BY T1.t_type