17. juli 2003 - 09:19Der er
16 kommentarer og 1 løsning
SQL problemer
Jeg har to tabeller der ser således ud:
Vessel: - vID (autonum) - Name (text)
Loc - lID (autonum) - vID (int) - Long (int) - Lat (int) - report (date)
Jeg skal have lavet en sql streng der for hver vessel.vID finder den nyeste Long og Lat. Følgende skal ud af sql strengen vessel.name, loc.long, loc.lat, loc.report
SELECT vessel.vname, First(loc.long) AS FørsteOflong, First(loc.lat) AS FørsteOflat, Max(loc.report) AS MaksOfreport FROM loc INNER JOIN vessel ON loc.vid = vessel.vid GROUP BY vessel.vid, vessel.vname;
jeg kan ikke helt få det til at virke, men har fundet frem til følgende:
SELECT Loc.Lat, Loc.Long, Loc.Report, Vessel.Name FROM Vessel INNER JOIN Loc ON Vessel.vId = Loc.vId WHERE (((Vessel.vId)=[Loc].[lId])) ORDER BY Loc.Report DESC;
Den giver mig bare ikke den nyeste Loc.Lat, Loc.Long, Loc.Report
SELECT V.Name, (SELECT TOP 1 Long FROM LOC L WHERE L.VID = V.VID ORDER BY L.report DESC) AS [Long], (SELECT TOP 1 Lat FROM LOC L WHERE L.VID = V.VID ORDER BY L.report DESC) AS Lat FROM Vessel AS V;
SELECT vessel.vid, vessel.vname, loc.long, loc.lat, loc.report FROM loc INNER JOIN vessel ON loc.vid = vessel.vid WHERE (((loc.lid)=(SELECT TOP 1 lid FROM loc WHERE (((vid)=vessel.vid)) ORDER BY loc.report DESC;)));
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.