0

您能告诉我如何将这两个 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;

非常感谢

4

1 回答 1

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;
于 2013-04-05T10:47:10.780 回答