Sql udvælgelse...HJÆLP..

Tags:    databaser

<< < 12 > >>
Hej..

Har en SQL udvælgelse jeg ikke kan få til og fungere..(MS-SQL-VB.NET)
-----------------------------------
DATA :

ProjID - Changeddate - StatusID
1 12/3/2010 2
1 13/3/2010 6
1 15/3/2010 5
2 10/2/2010 2
2 13/2/2010 6
3 08/2/2010 5
3 10/2/2010 6

RESULTAT :

ProjID - Changeddate - StatusID
2 13/2/2010 6
3 10/2/2010 6
------------------------------------

Jeg skal bruge de poster hvor den sidste registrering(Changeddate) er StatusID=6

Jeg har følgende SQL :

SELECT G_PROJ.PROJID, G_PROJ.PLANNEDENDDATE, G_PROJ.TASK_NAME, G_PROJ.DESCR, G_PROJSTATUS.STATUSID,G_PROJSTATUS.CHANGEDDATE AS DATE

FROM G_PROJ INNER JOIN G_PROJSTATUS ON G_PROJ.PROJID = G_PROJSTATUS.FK_PROJECT

WHERE (G_PROJSTATUS.CHANGEDDATE IN
(SELECT MAX(G_PROJSTATUS_1.CHANGEDDATE) AS DATE
FROM G_PROJ AS G_PROJ_1 INNER JOIN
G_PROJSTATUS AS G_PROJSTATUS_1 ON G_PROJ_1.PROJID = G_PROJSTATUS_1.FK_PROJECT
GROUP BY G_PROJ_1.PROJID))

GROUP BY G_PROJ.PLANNEDENDDATE, G_PROJ.TASK_NAME, G_PROJ.DESCR, G_PROJSTATUS.STATUSID, G_PROJSTATUS.CHANGEDDATE, G_PROJ.PROJID

HAVING (G_PROJSTATUS.STATUSID = 6)

ORDER BY G_PROJ.PROJID DESC

Dette virker dog ikke, da den medtager alle poster med StatusID=6, også selv om det ikke r den sidste dato (Changeddate)..

Håber nogen kan hjælpe:: :-)














Indlæg senest redigeret d. 12.03.2010 08:58 af Bruger #15471
13 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
Hej..

Tabel 1 : G_Proj

ProjID - Plannededate - Task_name - Descr

EKS:
1 - 13-03-2010 - abc - lave kaffe
2 - 15-03-2010 - cba - male hus
3 - 10-04-2010 - cab - rydde sne

ProjID = Primærnøgle (Ingen dubletter)

Tabel 2 : G_projstatus

FK_Projekt - Changeddate - StatusID

EKS :
2 - 10-03-2010 - 2
2 - 11-03-2010 - 6
2 - 12-03-2010 - 5
1 - 10-03-2010 - 2
1 - 11-03-2010 - 6
1 - 13-03-2010 - 5
3 - 08-03-2010 - 5
3 - 09-04-2010 - 6

Relation:
G_Proj.ProjID - G_Projstatus.FK_Projekt

Resultat skal så være :

3 - 10-04-2010 - cab - rydde sne

Da det er den eneste der opfylder, StatusID=6 ved sidste dato..



I de sample data du giver, der har 1 og 3 da også en status 6, så skal de vel også skrives ud?

Her er hvad jeg er kommet frem til.

Fold kodeboks ind/udSQL kode 


Hej..

Nej for på den sidste registrering(Changeddate), der er statusID ikke 6..



Hej René

Med udgangspunkt i dit sidste indlæg, har jeg lavet følgende SQL-forespørgelse. I dit ønskede resultat bruger du kun data fra G_Proj-tabellen - ønsker du også dato'en for sidste ændring af status, skal det laves en smule anderledes. Koden er ikke testet, men idéen bag burde virke, nemlig at gå alle projekter igennem og så hente status fra den sidste statusændring hørende til projektet.

Fold kodeboks ind/udSQL kode 


Hej igen..

Tusinde tak for svaret, det var lige den jeg manglede. Det virker bare fint nu..

Smid lige svar, så du kan få velfortjente point..



<< < 12 > >>
t