INNER JOIN SELECT (meerdere voorwaarden)

Status
Niet open voor verdere reacties.

L1NKKUN

Nieuwe gebruiker
Lid geworden
18 mrt 2011
Berichten
3
Hey :) ik loop op een klein probleempje vast in mijn SQL query die ik in Access wil uitvoeren. Het betreft het volgende:

Ik wil de laatste softwareversie per groep selecteren uit een tabel. De softwareversie is gerelateerd aan de ActiveDate, dus door de hoogste datum te pakken per groep, pakt de code automatisch de bijbehorende Configuration. Dit werkt nu allemaal goed met onderstaande code, maar ik wil die data óók nog filteren op QaEnv. Deze kolom bevat óf "Delta (UAT2) EAI-V3" óf "Yankee (UAT1) ACC-V01".

Als ik onderstaande code run krijg ik dit (even onbelangrijke kolommen niet meegenomen):

ID | QaEnv | System | Type | Configuration | ActiveDate
1 | Delta (UAT2) EAI-V3 | MOMS Adapter | Adapter | 1.0 | 30-06-2011
2 | Delta (UAT2) EAI-V3 | GSG Adapter | Adapter | 1.1 | 30-06-2011
3 | Yankee (UAT1) ACC-V01 | MOMS Adapter | Adapter | 2.4 | 30-06-2011
4 | Delta (UAT2) EAI-V3 | KIWI2 Adapter | Adapter | 1.7 | 30-06-2011

Maar ik wil dit:

ID | QaEnv | System | Type | Configuration | ActiveDate
1 | Delta (UAT2) EAI-V3 | MOMS Adapter | Adapter | 1.0 | 30-06-2011
2 | Delta (UAT2) EAI-V3 | GSG Adapter | Adapter | 1.1 | 30-06-2011
4 | Delta (UAT2) EAI-V3 | KIWI2 Adapter | Adapter | 1.7 | 30-06-2011

Code:
SELECT t.*
FROM Deployments t
INNER JOIN
(
SELECT System, Max(ActiveDate) as ActDate
FROM Deployments
WHERE QaEnv = "Delta (UAT2) EAI-V3" AND Type = "Adapter" 
AND (([ActiveDate] Between #6/20/2011# And #6/30/2011#)) 
GROUP BY System
) 
x ON t.system = x.system AND t.ActiveDate = x.ActDate;

Weet iemand hoe ik die QaEnv ook nog eens filter? Want als ik de binnenste SELECT los run, krijg ik wél drie records terug. Nu moet de omliggende data nog aan die SELECT worden geplakt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan