Tengo un informe que se ve algo como esto:SQL: ¿Cómo seleccionar Apertura Fila
CompanyA Workflow27 June5
CompanyA Workflow27 June8
CompanyA Workflow27 June12
CompanyB Workflow13 Apr4
CompanyB Workflow13 Apr9
CompanyB Workflow20 Dec11
CompanyB Wofkflow20 Dec17
Esto se hace con SQL (en concreto, T-SQL Server versión 2005):
SELECT company
, workflow
, date
FROM workflowTable
me gustaría que el informe muestre sólo las fechas más tempranas para cada flujo de trabajo:
CompanyA Workflow27 June5
CompanyB Workflow13 Apr4
CompanyB Workflow20 Dec11
¿Alguna idea? No puedo resolver esto. Intenté usar una selección anidada que devuelve la fecha de la bandeja más antigua y luego establecerla en la cláusula WHERE. Esto funciona muy bien si hubiera una sola empresa:
SELECT company
, workflow
, date
FROM workflowTable
WHERE date = (SELECT TOP 1 date
FROM workflowTable
ORDER BY date)
pero esto obviamente no va a funcionar si hay más de una empresa de esa tabla. ¡Cualquier ayuda es apreciada!
¿Por qué el comando WITH tiene un punto y coma antes? He visto esto algunas otras veces y al principio siempre pensé que era un error del código de la persona que estaba viendo –
Convención de precaución. WITH * must * es lo primero en una declaración y SQL Server no aplica todas las sentencias que terminan en punto y coma. –