Ho una domanda che sembraquery SQL contando il numero di risultati in cui le condizioni diverse tenere
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
Questo va bene, e mi dà un set di risultati con i nomi e valori. Ma quello che mi interessa davvero è il numero di problemi senza la clausola WHERE, quindi con la condizione 1, quindi le condizioni 1 + 2, quindi le condizioni 1 + 2 + 3. Mi piacerebbe scrivere
SELECT ju.name,
COUNT(DISTINCT p.value WHERE <condition 1>) foo,
COUNT(DISTINCT p.value WHERE <condition 2>) bar,
...
ma purtroppo non posso. C'è un bel modo per farlo?
+1 bella domanda: come suggerito Mahmoud - provare a utilizzare 'CASE' nel' select' clausola e sbarazzarsi del 'WHERE' – whytheq