2013-04-05 1 views
0

두 개의 COUNT를 어떻게 하나씩 선택할 수 있습니까?두 개의 COUNT을 (를) 한 세트로 선택

/*Pocet treninku ucast*/ 
SELECT Jmeno, COUNT(Ucast) 
FROM Hraci 
INNER JOIN Ucast_trenink2 ON Ucast_trenink2.ID_hrace_ucast=Hraci.IDHrace 
INNER JOIN Seznam_treninku ON Seznam_treninku.ID_treninku=Ucast_trenink2.ID_treninku_ucast 
INNER JOIN Kategorie ON Kategorie.IDkategorie=Seznam_treninku.Kategorie 
WHERE (Ucast='TRUE')AND(Kategorie.IDkategorie = 1) AND Datum >= '1/1/2013' AND Datum < '9/1/2014' 
GROUP BY Jmeno; 
/*Pocet treninku neucast*/ 
SELECT Jmeno, COUNT(Ucast) 
FROM Hraci 
INNER JOIN Ucast_trenink2 ON Ucast_trenink2.ID_hrace_ucast=Hraci.IDHrace 
INNER JOIN Seznam_treninku ON Seznam_treninku.ID_treninku=Ucast_trenink2.ID_treninku_ucast 
INNER JOIN Kategorie ON Kategorie.IDkategorie=Seznam_treninku.Kategorie 
WHERE (Ucast='FALSE')AND(Kategorie.IDkategorie = 1) AND Datum >= '1/1/2013' AND Datum < '9/1/2014' 
GROUP BY Jmeno; 

덕분에 많은

+0

당신이 귀하의 요구 사항을 명확하게 할 수 있습니까? 하나의 선택에 2 카운트를 얻는 것은 무엇입니까? 쿼리를 병합 하시겠습니까? –

답변

0

당신은 같은 것을 사용할 수 있습니다

SELECT 
    Jmeno, 
    SUM(CASE WHEN Ucast = 'False' then 1 end) as count_false, 
    SUM(CASE WHEN Ucast = 'True' then 1 end) as count_true 
FROM ... 
WHERE (Kategorie.IDkategorie = 1) AND Datum >= '1/1/2013' AND Datum < '9/1/2014' 
GROUP BY Jmeno; 
관련 문제