Ik heb de volgende query:
SELECT
COUNT(*)
FROM
orders AS o
LEFT JOIN orders_status_history AS osh
USING(orders_id)
WHERE
osh.orders_status_id = 11
AND
YEAR(osh.date_added) = 2009
AND
MONTH(osh.date_added) = 12
Maar het komt voor dat in orders_status_history meerdere keren de status 11 (annulering) voorkomt.
Nu wil ik alleen die orders selecteren waarbij de date_added 12-2009 is van de eerste keer.
Voorbeeld:
Orders:
orderID | omschrijving
1 | snowboard
2 | ski's
3 | snowboard schoenen
Orders status history:
oshID | orderID | orders_status_id | datum | omschrijving
1 | 1 | 2009-11-15 | 5 | bestelling geplaatst
2 | 1 | 2009-12-05 | 11 | geannuleerd
3 | 2 | 2009-11-20 | 5 | bestelling geplaatst
4 | 2 | 2009-11-21 | 11 | geannuleerd
5 | 2 | 2009-12-01 | 17 | extra mededeling
6 | 2 | 2009-12-09 | 11 | geannuleerd
7 | 3 | 2009-12-06 | 5 | geplaatst
8 | 3 | 2009-12-08 | 11 | geannuleerd
Nu wil ik dus als resultaat krijgen op COUNT(*) bij MONTH = 12 en YEAR = 2009: 2
En niet 4 zoals nu..
Bold Moet dus wel gecount worden.
Italic Moet dus niet gecount worden.
Ik hoop dat het duidelijk is.
Mvg,
Boris