26. november 2006 - 19:21Der er
5 kommentarer og 1 løsning
Forespørgsel i en 'mange til mange' relation
Hej
Jeg har en tabel med personer og en tabel med engagement de begge relatereret til en tredje tabel: klubengagement med felterne: PersId, EngagementId, status(ja/nej) og en dato.
Jeg vil gerne have en SQL der viser alle personernes status som 'medlem' efter sidste ændring. EKS. persId EngId dato status Jesper træner 01-01-2001 Ja Niels medlem 01-01-2001 Nej Jesper medlem 01-01-2000 Ja Niels medlem 01-01-2000 Ja
Jeg har bøvlet hele dagen - så please lad det ikke være for nemt :)
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Hejsa igen - der var lige lidt huslige pligter og en film, men nu fik jeg lige lidt tid igen :)
Kan du evt. bruge følgende, der gør brug af en temp tabel? Jeg har kaldt min tabel for Eksperten_Mange_Til_Mange_Relation, så det skal jo lige erstattes :)
CREATE TABLE #PersId_Temp(PersId nvarchar(10), dato datetime)
INSERT INTO #PersId_Temp SELECT PersID, max(dato) FROM Eksperten_Mange_Til_Mange_Relation WHERE EngId = 'medlem' GROUP BY PersID
SELECT a.PersId, a.EngId, a.dato, a.status FROM Eksperten_Mange_Til_Mange_Relation a JOIN #PersId_Temp b ON a.PersId = b.PersId WHERE a.dato = b.dato
SubQry: SELECT persId,EngId, Max(dato) AS MaksOfdato FROM klubengagement GROUP BY persId,EngId;
MainQry SELECT klubengagement.* FROM klubengagement INNER JOIN subQry ON (klubengagement.persId = subQry.persId) AND (klubengagement.EngId = subQry.EngId) AND (klubengagement.dato = subQry.MaksOfdato) WHERE (((klubengagement.EngId)="medlem") AND ((klubengagement.status)=Yes));
ramad-> Du hjalp mig fint på sporet med den tempTable - så hvis du ligger et svar vil du få dine fortjente point.
Hejsa - nej det var kæresten der bestemte, så det blev Bridget Jones :( Jeg ligger lige et svar, og så lærte jeg også selv noget fra nih's svar...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.