Mam kwerendę, która wygląda jakzapytań SQL licząc liczbę wyników, gdzie różne warunki trzymać
SELECT ju.name,
COUNT(DISTINCT p.value) AS nproblems
FROM #problems p
JOIN <thing> ju ON <whatever>
WHERE <condition 1>
AND <condition 2>
AND <condition 3>
GROUP BY ju.name
ORDER BY nproblems DESC
To jest w porządku, i daje mi zestaw wyników z nazwami i wartościami. Ale tak naprawdę zależy mi na liczbie problemów bez klauzuli WHERE, a następnie z warunkiem 1, a następnie warunkami 1 + 2, a następnie warunkami 1 + 2 + 3. Chciałbym napisać:
SELECT ju.name,
COUNT(DISTINCT p.value WHERE <condition 1>) foo,
COUNT(DISTINCT p.value WHERE <condition 2>) bar,
...
, ale niestety nie mogę. Czy jest to dobry sposób na zrobienie tego?
+1 ładny pytanie: jak sugeruje Mahmoud - spróbuj użyć 'CASE' w' SELECT' i pozbądź się "GDZIE" – whytheq