Mi stavo chiedendo se esiste un modo per ottenere due "conteggi" separati da una tabella utilizzando una query? Cioè, usando una tabella simile alla seguente vorrei recuperare ogni codice (distinto) e mostrare il numero totale di stato 'NOT uguale a X o D, e quindi avere una colonna aggiuntiva che mostra il numero totale di stato' uguale a X o D e la data di cancellazione è maggiore di una data specifica (ad esempio, gli ultimi 14 giorni).SQL: più affermazioni con più criteri
Tabella:
Code: Status Cancel_Date
-----------------------------------
AAA X 2012-02-01
AAA
BBB X 2012-02-01
AAA D 2012-01-01
AAA
BBB
BBB D 2012-02-01
BBB X 2012-01-01
Risultato di esempio (sulla base dei dati di cui sopra):
Code: TotalNotXorD TotalXorD
------------------------------------
AAA 2 1
BBB 1 2
TotalNotXorD: ad esempio
select code, count(*)
from table
where status not in('X','D')
group by code
TotalXorD: ad es.
select code, count(*)
from table
where status in('X','D')
and cancel_date >= '2012-02-01'
group by code
Ho visto fare subquery ecc. Ma non riesco a ottenere i risultati che mi servono.
Qualche idea?
Grazie.
cosa del database stai usando? – Michas