Mam zapytanie:
SELECT
t1.name as Name
count ( distinct t2.key ) as Total
SUM ( IF( t2.time = "12:00" , 1 , 0) ) as QttMidDay
FROM t1
LEFT JOIN t2 on t1.key = t2.key
GROUP BY t1.key
Pytanie brzmi: w jaki sposób wykonuję "Liczbę warunkową" dla parametru SUM dla parametru 2º dla QttMidDay?
Odpowiedzi:
0 dla odpowiedzi № 1Zgaduję, że możesz rozwiązać swój problem przez agregowanie przed połączenie. Moje najlepsze przypuszczenie to:
SELECT t1.name as Name, t2.Total, t2.QttMidDay
FROM t1 LEFT JOIN
(SELECT COUNT(DISTINCT t2.key) as Total,
SUM(t2.time = "12:00") as QttMidDay
FROM t2
GROUP BY t2.key
) t2
ON t1.key = t2.key;
Nie jestem pewien, czy COUNT(DISTINCT)
jest konieczne w podzapytaniu.