Tengo un problema y no consigo dar con la solución. Os pongo en situación:
Tabla: FechaControl
Columnas:
Código SQL:
Ver original
| Estado | codigoproyecto | vercodigoproyecto | fecha | aceptado 18 0 06-05-2016 anulado 18 1 10-09-2016 borrado 18 2 01-03-2017 aceptado 19 0 09-04-2017
El dato que da la pagina es el año.
Lo que yo quiero que depende le año que se elija te de como resultado de todos los codigos de proyectos el ultimo correspondiente a ese año.
Por ejemplo, si elijo 2016 solo debería de darme como resultado el:
Código SQL:
Ver original
anulado 18 1 10-09-2016
Y como segundo ejemplo si elijo 2017 me daría como resultado:
Código SQL:
Ver original
borrado 18 2 01-03-2017 aceptado 19 0 09-04-2017
Otra cosa que también me gustaría que incluyese es que agrupara por estado. En el ejemplo de 2016 me diría que hay 1 anulado.
En el ejemplo de 2017 me diría de existe 1 borrado y 1 aceptado.
He probado varias consultas y ninguna me da lo que quiero. Las dejo aqui:
Código SQL:
Ver original
SELECT estado, COUNT(estado) AS total FROM `FechaControl` WHERE `vercodigoproyecto`= (SELECT MAX(vercodigoproyecto) FROM `FechaControl` WHERE YEAR(fecha)='2016') GROUP BY `estado`
Estoy un poco perdido y agradecería que alguien me echara una mano.
Si necesitáis cualquier dato avisar.
Saludos y gracias.