Imprimir página | Cerrar ventana

Sentencia SQL por estado

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=85882
Fecha de impresión: 26/Marzo/2026 a las 17:28


Tema: Sentencia SQL por estado
Publicado por: shenares
Asunto: Sentencia SQL por estado
Fecha de publicación: 15/Marzo/2021 a las 09:50
Hola,

Espero poder explicarme para entender la sentencia que me gustaría tramitar. Tengo una BBDD en access que recoge Estados de un proyecto. Estos estados pueden repetirse en el tiempo y tener varias veces un mismo estado. Como ejemplo:

Model     Status     Status_date
APOS A8     Welcome Pack     06/02/2020
APOS A8     Welcome Pack     02/04/2020
APOS A8     NDA/Quotation     24/04/2020
APOS A8     NDA/Quotation     27/04/2020
APOS A8     NDA/Quotation     05/05/2020
APOS A8     NDA/Quotation     11/05/2020
APOS A8     NDA/Quotation     12/05/2020
APOS A8     SRF received     21/05/2020
APOS A8     SRF received     29/05/2020
APOS A8     SRF received     01/06/2020
APOS A8     SRF received     02/06/2020
APOS A8     SRF received     08/06/2020
APOS A8     NDA/Quotation     09/06/2020
APOS A8     Offer sent     11/06/2020
APOS A8     Offer sent     16/06/2020
APOS A8     Offer sent     06/07/2020
APOS A8     NDA/Quotation     03/09/2020
APOS A8     NDA/Quotation     07/09/2020
APOS A8     NDA/Quotation     08/09/2020
APOS A8     NDA/Quotation     10/09/2020
APOS A8     Offer received     23/09/2020
APOS A8     Samples received     28/09/2020
APOS A8     Samples received     06/10/2020
APOS A8     Testing     02/11/2020
APOS A8     Testing     19/11/2020
APOS A8     Testing     23/11/2020
APOS A8     Testing     03/12/2020
APOS A8     Testing     09/12/2020
APOS A8     Testing     07/01/2021
APOS A8     Testing     12/01/2021
APOS A8     Testing     01/02/2021
APOS A8     EoT DEKRA     12/02/2021
APOS A8     EoT DEKRA     06/03/2021
APOS A8     Testing     07/03/2021
APOS A8     Testing     08/03/2021
APOS A8     EoT DEKRA     09/03/2021
APOS A8     EoT DEKRA     10/03/2021
APOS A8     Testing     11/03/2021
APOS A8     EoT DEKRA     12/03/2021


La idea es que la sentencia me muestre algo así:

Model     Status     Status_date
APOS A8 Testing     02/11/2020 -> El primer valor de testing
APOS A8     EoT DEKRA     12/02/2021 -> El primer valor de EoT DEKRA
APOS A8     Testing     07/03/2021 -> El primer valor de testing
APOS A8     EoT DEKRA     09/03/2021 -> El primer valor de EoT DEKRA
APOS A8     Testing     11/03/2021 -> El primer valor de testing
APOS A8     EoT DEKRA     12/03/2021 -> El primer valor de EoT DEKRA



¿Es posible tener una consulta para establecer este criterio?

Gracias de antemano.



Respuestas:
Publicado por: mounir
Fecha de publicación: 15/Marzo/2021 a las 13:46
Hola!

No veo ningún criterio que valga para hacer lo que necesitas.
Tiene que haber otro campo que discrimine entre los grupos y no sólo el orden.

-------------
Un Saludo.


Publicado por: shenares
Fecha de publicación: 15/Marzo/2021 a las 16:14
Hola,

Gracias por la respuesta.

Hay un Id para cada uno de los valores, ¿crees que esto es suficiente? Estos son los campos de esta tabla:

Id, Project_Id, Model, Status, Status_reason, Source, Status_date

De estos valores, los que me interesan son el Model, Status y Status_date


Publicado por: mounir
Fecha de publicación: 15/Marzo/2021 a las 17:59
Hola!

Tiene que ser un campo que tenga un valor común a cada grupo.

-------------
Un Saludo.


Publicado por: xavi
Fecha de publicación: 16/Marzo/2021 a las 08:38
Lo que pides es muy similar a los subtotales de Excel: "por cada cambio en xxx haz aquello"

Pero me temo que no existe nada directo en Access que devuelva eso. Yo creo que deberás crear un código que recorra los registros y vaya comparando. Cada vez que encuentras una diferencia entre ese registro y el anterior salvas los resultados en una tabla temporal.

Un saludo


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: Juanmasp
Fecha de publicación: 16/Marzo/2021 a las 15:23
Lo puedes hacer en un informe, Ordenando por Status_date y Agrupando después por Model y Status 
Muestras el encabezado de grupo y ocultas el detalle, así solo saldrá el primero de cada subgrupo

Si el model no cambia, como en el ejemplo que as puesto, entonces agrupa solo por Status

Esta es una forma de hacerlo sin nada de código, digamos "Automático"


Publicado por: shenares
Fecha de publicación: 22/Marzo/2021 a las 23:56
Hola a todos,

He cambiado la forma de la tabla añadiendo un valor en común:

Model     Status     Status_date           ExecutionProject_Id
APOS A8     Welcome Pack     06/02/2020    1
APOS A8     Welcome Pack     02/04/2020    1
APOS A8     NDA/Quotation     24/04/2020   1
APOS A8     NDA/Quotation     27/04/2020   1
APOS A8     NDA/Quotation     05/05/2020   1
APOS A8     NDA/Quotation     11/05/2020   1
APOS A8     NDA/Quotation     12/05/2020   1
APOS A8     SRF received     21/05/2020    1
APOS A8     SRF received     29/05/2020    1
APOS A8     SRF received     01/06/2020    1
APOS A8     SRF received     02/06/2020    1
APOS A8     SRF received     08/06/2020    1
APOS A8     NDA/Quotation     09/06/2020   1
APOS A8     Offer sent     11/06/2020      1
APOS A8     Offer sent     16/06/2020      1
APOS A8     Offer sent     06/07/2020      1
APOS A8     NDA/Quotation     03/09/2020   1
APOS A8     NDA/Quotation     07/09/2020   1
APOS A8     NDA/Quotation     08/09/2020   1
APOS A8     NDA/Quotation     10/09/2020   1
APOS A8     Offer received     23/09/2020 1
APOS A8     Samples received     28/09/2020 1
APOS A8     Samples received     06/10/2020 1
APOS A8     Testing     02/11/2020          1
APOS A8     Testing     19/11/2020          1
APOS A8     Testing     23/11/2020          1
APOS A8     Testing     03/12/2020          1
APOS A8     Testing     09/12/2020          1
APOS A8     Testing     07/01/2021          1
APOS A8     Testing     12/01/2021          1
APOS A8     Testing     01/02/2021          1
APOS A8     EoT DEKRA     12/02/2021        1
APOS A8     EoT DEKRA     06/03/2021        1
APOS A8     Testing     07/03/2021          2
APOS A8     Testing     08/03/2021          2
APOS A8     EoT DEKRA     09/03/2021        2
APOS A8     EoT DEKRA     10/03/2021        2
APOS A8     Testing     11/03/2021          3
APOS A8     EoT DEKRA     12/03/2021        3

El resultado que busco es este:

Model     Status     Status_date ExecutionProjects_Id
APOS A8 Testing     02/11/2020    1             -> El primer valor (Id) de testing
APOS A8     EoT DEKRA     12/02/2021 1           -> El primer valor (Id) de EoT DEKRA
APOS A8     Testing     07/03/2021    2        -> El primer valor (Id) de testing
APOS A8     EoT DEKRA     09/03/2021   2        -> El primer valor (Id) de EoT DEKRA
APOS A8     Testing     11/03/2021      3       -> El primer valor (Id) de testing
APOS A8     EoT DEKRA     12/03/2021    3       -> El primer valor (Id) de EoT DEKRA

Querría que se mostrara el primer valor (Id) de Testing y primer valor (Id) de EoT DEKRA, asemejado a ese ExecutionProjects_Id.

Un slaudo,


Publicado por: Mihura
Fecha de publicación: 25/Marzo/2021 a las 12:45
Una SQL de totales, agrupando por los campos que quieres, quedándote con el valor mínimo de Id, te da el resultado que buscas.

-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: shenares
Fecha de publicación: 25/Marzo/2021 a las 12:51
Hola,

He hecho algo así, pero no me da los minimos:

SELECT Min(Id), Model, Status, Status_date, ExecutionProject_id
FROM Projects_status
WHERE (Status = 'Testing' Or Status = 'Global Final Report') AND YEAR(Status_date) = Year(DATE())
GROUP BY Model, Status, Status_date, ExecutionProject_id;

¿Que estoy haciendo mal?


Publicado por: Mihura
Fecha de publicación: 25/Marzo/2021 a las 13:41
Eso te dará el mínimo por cada agrupación: modelo-status-date-idProject



-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: shenares
Fecha de publicación: 25/Marzo/2021 a las 14:09
Hola,

Si, quiero que me dé el mínimo por cada agrupación, pero me aparece lo siguiente:

Expr1000     Model     Status     Status_date     ExecutionProject_id
330     APOS A8     Global Final Report     16/03/2021     301
94     APOS A8     Testing     07/01/2021     301
95     APOS A8     Testing     12/01/2021     301
96     APOS A8     Testing     01/02/2021     301
287     C1121X-8PLTEP     Testing     03/03/2021     85
288     C1121X-8PLTEP     Testing     05/03/2021     85
303     C1121X-8PLTEP     Testing     09/03/2021     85
342     CB3 Basic EU     Testing     17/03/2021     245
361     CB3 Basic EU     Testing     18/03/2021     245
363     CB3 Basic EU     Testing     19/03/2021     245
196     L610-EU     Global Final Report     02/03/2021     299
59     L610-EU     Testing     27/01/2021     299
60     L610-EU     Testing     01/02/2021     299
61     L610-EU     Testing     02/02/2021     299
62     L610-EU     Testing     03/02/2021     299
311     MY19 TCP GA     Global Final Report     12/03/2021     0
213     MY19 TCP GA     Testing     12/03/2021     0
260     MY21 TCP GA/GB     Global Final Report     04/03/2021     0
211     MY21 TCP GA/GB     Testing     04/03/2021     0
335     MY23 TCP GB     Global Final Report     17/03/2021     0
331     MY23 TCP GB     Testing     17/03/2021     0

La idea es que me dé el minimo de esos dos estados por agrupación.


Publicado por: Mihura
Fecha de publicación: 25/Marzo/2021 a las 15:39
¿Y la consulta que has hecho es?




-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: shenares
Fecha de publicación: 25/Marzo/2021 a las 15:44
Hola,

La consulta es la que he indicado anteriormente:

SELECT Min(Id), Model, Status, Status_date, ExecutionProject_id
FROM Projects_status
WHERE (Status = 'Testing' Or Status = 'Global Final Report') AND YEAR(Status_date) = Year(DATE())
GROUP BY Model, Status, Status_date, ExecutionProject_id;

Un saludo,


Publicado por: Mihura
Fecha de publicación: 25/Marzo/2021 a las 16:07
Vamos a ver, está haciendo lo que le pides en la consulta ... 

Saca los 'Testing' o 'Global...' agrupados por esos cuatro campos ... 

Si quieres que agrupe por menos tendrás que quitarlos de la cláusula WHERE ... o eso o no te estoy entendiendo en lo más mínimo ... Ouch


-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: shenares
Fecha de publicación: 25/Marzo/2021 a las 16:16
Hola,

Puede que no me haya explicado bien.

Tengo una tabla con esos campos, Model     Status     Status_date     ExecutionProject_id, Id. Lo que quiero es una consulta que me agrupe los campos, donde Status sea 'Testing' o 'Global..', pero solo el minimo ID por cada agrupación. Sería algo así:

APOS A8 Testing     02/11/2020    1             -> El minimo valor (Id) de testing
APOS A8     EoT DEKRA     12/02/2021 1           -> El minimo valor (Id) de EoT DEKRA
APOS A8     Testing     07/03/2021    2        -> El minimo valor (Id) de testing
APOS A8     EoT DEKRA     09/03/2021   2        -> El minimo valor (Id) de EoT DEKRA
APOS A8     Testing     11/03/2021      3       -> El minimo valor (Id) de testing
APOS A8     EoT DEKRA     12/03/2021    3       -> El minimo valor (Id) de EoT DEKRA

La tabla de la que cojo los datos tiene esta pinta:

Model     Status     Status_date           ExecutionProject_Id
APOS A8     Welcome Pack     06/02/2020    1
APOS A8     Welcome Pack     02/04/2020    1
APOS A8     NDA/Quotation     24/04/2020   1
APOS A8     NDA/Quotation     27/04/2020   1
APOS A8     NDA/Quotation     05/05/2020   1
APOS A8     NDA/Quotation     11/05/2020   1
APOS A8     NDA/Quotation     12/05/2020   1
APOS A8     SRF received     21/05/2020    1
APOS A8     SRF received     29/05/2020    1
APOS A8     SRF received     01/06/2020    1
APOS A8     SRF received     02/06/2020    1
APOS A8     SRF received     08/06/2020    1
APOS A8     NDA/Quotation     09/06/2020   1
APOS A8     Offer sent     11/06/2020      1
APOS A8     Offer sent     16/06/2020      1
APOS A8     Offer sent     06/07/2020      1
APOS A8     NDA/Quotation     03/09/2020   1
APOS A8     NDA/Quotation     07/09/2020   1
APOS A8     NDA/Quotation     08/09/2020   1
APOS A8     NDA/Quotation     10/09/2020   1
APOS A8     Offer received     23/09/2020 1
APOS A8     Samples received     28/09/2020 1
APOS A8     Samples received     06/10/2020 1
APOS A8     Testing     02/11/2020          1
APOS A8     Testing     19/11/2020          1
APOS A8     Testing     23/11/2020          1
APOS A8     Testing     03/12/2020          1
APOS A8     Testing     09/12/2020          1
APOS A8     Testing     07/01/2021          1
APOS A8     Testing     12/01/2021          1
APOS A8     Testing     01/02/2021          1
APOS A8     EoT DEKRA     12/02/2021        1
APOS A8     EoT DEKRA     06/03/2021        1
APOS A8     Testing     07/03/2021          2
APOS A8     Testing     08/03/2021          2
APOS A8     EoT DEKRA     09/03/2021        2
APOS A8     EoT DEKRA     10/03/2021        2
APOS A8     Testing     11/03/2021          3
APOS A8     EoT DEKRA     12/03/2021        3

En la cuál hay varias filas por cada Execution_id.

Gracias


Publicado por: Mihura
Fecha de publicación: 25/Marzo/2021 a las 16:25
¿Pero qué agrupación?

.. en la cláusula GROUP BY sólo deben estar los campos por los que quieras que agrupe ... ni uno más.




-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: shenares
Fecha de publicación: 25/Marzo/2021 a las 16:31
Hola,

La agrupación esta bien, lo que necesito es que de esas agrupaciones me coja el mínimo Id de los que tengan valor 'Testing' y 'Global..'. Esta es la idea.


Publicado por: Mihura
Fecha de publicación: 25/Marzo/2021 a las 17:07
OK, entonces son varias consultas:

- una que obtenga las agrupaciones que quieres (esa ya la tienes hecha)
- otra que obtenga los valores mínimos de Testing y Global
- una tercera que relacione las dos anteriores





-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: shenares
Fecha de publicación: 25/Marzo/2021 a las 17:48
Hola,

Gracias, he intentado realizar la consulta pero no me aparece nada coherente:

SELECT Agrupaciones.Model, Agrupaciones.Status_date, (select status from projects_status where id = MinStat.MinId) AS DevStatus
FROM
(SELECT Model, Status, Status_date, ExecutionProject_id FROM Projects_status WHERE (Status = 'Testing' Or Status = 'Global Final Report') AND YEAR(Status_date) = Year(DATE())
GROUP BY Model, Status, Status_date, ExecutionProject_id) AS Agrupaciones ,
(SELECT Status, Min(Id) As MinId
FROM Projects_status
WHERE (Status = 'Testing' Or Status = 'Global Final Report') Group By Status) AS MinStat;

He mezclado ambas tablas pero no creo que este bien...


Publicado por: Mihura
Fecha de publicación: 25/Marzo/2021 a las 18:17
SELECT CamposQueQuieroVer
FROM (ConsultaGrupos) AS T1
LEFT JOIN (ConsultaMinimos) AS T2 ON T1.Status=T2.Status


-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: shenares
Fecha de publicación: 26/Marzo/2021 a las 08:53
Hola,

He intentado realizar la siguiente consulta, pero me da error en la sentencia FROM y no se el motivo:

SELECT T1.Model, T1.Status, T1.Status_date
FROM (SELECT Model, Status, Status_date, ExecutionProject_id FROM Projects_status WHERE (Status = 'Testing' Or Status = 'Completed') AND YEAR(Status_date) = Year(DATE()) AS T1
LEFT JOIN (SELECT Min(Id), Status FROM Projects_status) AS T2 ON T1.Status = T2.Status;


Publicado por: Mihura
Fecha de publicación: 26/Marzo/2021 a las 11:43
¿Las subconsultas por separado te funcionan?, es decir, esto ¿te da los valores que quieres?:

SELECT Model, Status, Status_date, ExecutionProject_id FROM Projects_status WHERE (Status = 'Testing' Or Status = 'Completed') AND YEAR(Status_date) = Year(DATE()


¿y esto también?:

SELECT Min(Id), Status FROM Projects_status





-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: shenares
Fecha de publicación: 26/Marzo/2021 a las 13:01
Hola,

He visto que había algún error y lo he arreglado. Aún así, no me da los valores que quiero:

Sentencia:

SELECT T1.ExecutionProject_id, T1.Model, T1.Status, T1.Status_date
FROM (SELECT Model, Status, Status_date, ExecutionProject_id FROM Projects_status WHERE (Status = 'Testing' Or Status = 'Completed') AND YEAR(Status_date) = Year(DATE())) AS T1
LEFT JOIN (SELECT Min(Id) As Mmid, Status FROM Projects_status Group by Status) AS T2 ON T1.Status = T2.Status;

Resultado:

ExecutionProject_id     Model     Status     Status_date
81     LBAD0XX1SC-DM     Completed     02/03/2021
85     C1121X-8PLTEP     Testing     03/03/2021
85     C1121X-8PLTEP     Testing     05/03/2021
85     C1121X-8PLTEP     Testing     09/03/2021
85     C1121X-8PLTEP     Testing     09/03/2021
299     L610-EU     Testing     27/01/2021
299     L610-EU     Testing     01/02/2021
299     L610-EU     Testing     02/02/2021
299     L610-EU     Testing     03/02/2021
301     APOS A8     Testing     07/01/2021
301     APOS A8     Testing     12/01/2021
301     APOS A8     Testing     01/02/2021
85     C1121X-8PLTEP     Completed     29/01/2021
0     MY21 TCP GA/GB     Testing     04/03/2021
0     MY19 TCP GA     Testing     12/03/2021
0     MY23 TCP GB     Testing     17/03/2021
245     CB3 Basic EU     Testing     17/03/2021
245     CB3 Basic EU     Testing     17/03/2021
245     CB3 Basic EU     Testing     18/03/2021
245     CB3 Basic EU     Testing     18/03/2021
245     CB3 Basic EU     Testing     19/03/2021
301     APOS A8     Completed     16/03/2021
0     MY20 TCP GB     Completed     17/03/2021
0     MY21 TCP GA/GB     Completed     04/03/2021
0     MY19 TCP GA     Completed     12/03/2021
0     MY23 TCP GB     Completed     17/03/2021

Por ejemplo, para el model C1121X-8PLTEP, execution Id 85, muestra varios valores de 'Testing' y solo quiero que me muestre el minimo.

¿que puede pasar?

YUn slaudo,


Publicado por: Mihura
Fecha de publicación: 26/Marzo/2021 a las 13:03
¿Qué valores obtienes con las dos subconsultas por separado?



-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: shenares
Fecha de publicación: 26/Marzo/2021 a las 14:11
Hola,

Esta sentencia (SELECT Model, Status, Status_date, ExecutionProject_id FROM Projects_status WHERE (Status = 'Testing' Or Status = 'Completed') AND YEAR(Status_date) = Year(DATE())):

Model     Status     Status_date     ExecutionProject_id
LBAD0XX1SC-DM     Completed     02/03/2021     81
C1121X-8PLTEP     Testing     03/03/2021     85
C1121X-8PLTEP     Testing     05/03/2021     85
C1121X-8PLTEP     Testing     09/03/2021     85
C1121X-8PLTEP     Testing     09/03/2021     85
L610-EU     Testing     27/01/2021     299
L610-EU     Testing     01/02/2021     299
L610-EU     Testing     02/02/2021     299
L610-EU     Testing     03/02/2021     299
APOS A8     Testing     07/01/2021     301
APOS A8     Testing     12/01/2021     301
APOS A8     Testing     01/02/2021     301
C1121X-8PLTEP     Completed     29/01/2021     85
MY21 TCP GA/GB     Testing     04/03/2021     0
MY19 TCP GA     Testing     12/03/2021     0
MY23 TCP GB     Testing     17/03/2021     0
CB3 Basic EU     Testing     17/03/2021     245
CB3 Basic EU     Testing     17/03/2021     245
CB3 Basic EU     Testing     18/03/2021     245
CB3 Basic EU     Testing     18/03/2021     245
CB3 Basic EU     Testing     19/03/2021     245
APOS A8     Completed     16/03/2021     301
MY20 TCP GB     Completed     17/03/2021     0
MY21 TCP GA/GB     Completed     04/03/2021     0
MY19 TCP GA     Completed     12/03/2021     0
MY23 TCP GB     Completed     17/03/2021     0

Esta sentencia (SELECT Min(Id) As Mmid, Status FROM Projects_status Group by Status):
Mmid     Status
170     Completed
183     Created
247     Debugging
63     EoT DEKRA
1     First Contact
169     Global Final Report
52     Kick-Off/Setup
233     NDA/Quoation
18     NDA/Quotation
49     Offer Accepted
86     Offer received
29     Offer sent
8     Quotation/NDA
51     Samples Received
7     SRF Received
59     Testing
5     Welcome Pack

Un saludo,


Publicado por: Mihura
Fecha de publicación: 26/Marzo/2021 a las 15:33
Pues con esos valores te tendrá que mostrar MMid = 170 en Completed y 59 en los casos de Testing.

SELECT T1.ExecutionProject_id, T1.Model, T1.Status, T1.Status_date, T2.MMid
.....


-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: Juanmasp
Fecha de publicación: 26/Marzo/2021 a las 15:49
Hola,

Yo creo que tal y como tenías la consulta, cambiando un par de cosas, te tiene que dar el resultado que buscas.

Tienes que quitar la agrupación por Status_date (porque así te saldría el primero de cada fecha distinta)

Así

SELECT Min(Id), Model, Status, Min(Status_date), ExecutionProject_id
FROM Projects_status
WHERE (Status = 'Testing' Or Status = 'Global Final Report') AND YEAR(Status_date) = Year(DATE())
GROUP BY Model, Status, ExecutionProject_id;

Salu2.


Publicado por: shenares
Fecha de publicación: 29/Marzo/2021 a las 09:08
Gracias @Juanmasp, esa es la sentencia que buscaba! un saludo!



Imprimir página | Cerrar ventana