---
title: "Hämta endast ett datum för varje adress."
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/112858-hämta-endast-ett-datum-för-varje-adress"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "MickeA.com"
published: "2004-10-03T19:57:27.000Z"
updated: "2004-10-26T18:37:17.000Z"
replies: 18
views: 457
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/112858-hämta-endast-ett-datum-för-varje-adress"
---

# Hämta endast ett datum för varje adress.

## #1 — MickeA.com, 2004-10-03T19:57Z

Tja!

Har en SQL fråga för att plocka ut Servicedatum för vissa adresser, där senaste service är utförd för minst 4 månader sen:

```
strSQL =	"SELECT h.Hiss_ID, h.Hiss_Adress, h.Hiss_Gatunummer, h.Hiss_Uppg, h.Hiss_Area, h.Hiss_Ans_Montor, s.Hiss_ID, s.Service_Datum " &_
				"FROM tbl_hiss h INNER JOIN tbl_service s " &_
				"ON h.Hiss_ID = s.Hiss_ID " &_
				"WHERE h.Hiss_Ans_Montor = '" & Session("logged_in_usr") & "' AND DateDiff('m', s.Service_Datum, date()) > 4 " &_
				"ORDER BY h.Hiss_Adress, h.Hiss_Gatunummer, s.Service_Datum ASC"
```

Problemet är bara att den plockar ut fler datum för samma adress.
Tex. om man varit på samma ställe, vid två olika datum, så ska endast det datum som ligger närmast den aktuella månaden.

Hoppas ni förstår, om inte, be mig förklara tydligare.
Jag vill alltså ENDAST plocka ut ett besök för resp. adress.

Tack!

Permalänk: https://www.webforum.nu/p/112858

## #2 — LarsG, 2004-10-04T07:30Z

```
SELECT h.Hiss_ID, h.Hiss_Adress, 
 h.Hiss_Gatunummer, h.Hiss_Uppg, h.Hiss_Area, h.Hiss_Ans_Montor, s.Hiss_ID, [b]max(s.Service_Datum) as mdatum[/b] 
FROM tbl_hiss h INNER JOIN tbl_service s ON h.Hiss_ID = s.Hiss_ID
WHERE h.Hiss_Ans_Montor = Session("logged_in_usr")  
AND DateDiff('m', s.Service_Datum, date()) > 4 
[b]group by h.Hiss_ID, h.Hiss_Adress, 
 h.Hiss_Gatunummer, h.Hiss_Uppg, h.Hiss_Area, h.Hiss_Ans_Montor, s.Hiss_ID [/b]
ORDER BY h.Hiss_Adress, h.Hiss_Gatunummer,[b]mdatum[/b]
```

Permalänk: https://www.webforum.nu/p/1451645

## #3 — MickeA.com, 2004-10-04T12:33Z

Aha, tack, ska prova när jag kommer hem, tack tack!

Permalänk: https://www.webforum.nu/p/1451808

## #4 — MickeA.com, 2004-10-04T15:12Z

Såhär har jag gjort:

```
strSQL =	"SELECT h.Hiss_ID, h.Hiss_Adress, h.Hiss_Gatunummer, h.Hiss_Uppg, h.Hiss_Area, h.Hiss_Ans_Montor, s.Hiss_ID, max(s.Service_Datum) as mdatum " &_
				"FROM tbl_hiss h INNER JOIN tbl_service s ON h.Hiss_ID = s.Hiss_ID " &_
				"WHERE h.Hiss_Ans_Montor = " & Session("logged_in_usr") & " AND DateDiff('m', s.Service_Datum, date()) > 4 " &_
				"GROUP BY h.Hiss_ID, h.Hiss_Adress, h.Hiss_Gatunummer, h.Hiss_Uppg, h.Hiss_Area, h.Hiss_Ans_Montor, s.Hiss_ID " &_
				"ORDER BY h.Hiss_Adress, h.Hiss_Gatunummer, mdatum"
```

...vilket resulterar i:

```
Feltyp:
Microsoft JET Database Engine (0x80040E10)
Det har inte angetts något värde för en eller flera nödvändiga parametrar.
/hissen/register/mService.asp, line 35
```

Det tyder väl på ett stavfel? Jag hittar inget sådant, så vad kan vara fel i koden.?

Permalänk: https://www.webforum.nu/p/1451937

## #5 — LarsG, 2004-10-04T15:13Z

apostroferna för session(...) försvann visst när jag rattade runt

Permalänk: https://www.webforum.nu/p/1451940

## #6 — MickeA.com, 2004-10-04T15:18Z

Nu finns '' runt Session, men fortf. samma fel.
Jag förstår ingenting av det här.

Permalänk: https://www.webforum.nu/p/1451942

## #7 — LarsG, 2004-10-04T15:24Z

```
strSQL =	"SELECT h.Hiss_ID, h.Hiss_Adress, h.Hiss_Gatunummer, h.Hiss_Uppg, h.Hiss_Area, h.Hiss_Ans_Montor, s.Hiss_ID, max(s.Service_Datum) as mdatum " &_
				"FROM tbl_hiss h INNER JOIN tbl_service s ON h.Hiss_ID = s.Hiss_ID " &_
				"WHERE h.Hiss_Ans_Montor = '" & Session("logged_in_usr") & "' AND DateDiff('m', s.Service_Datum, date()) > 4 " &_
				"GROUP BY h.Hiss_ID, h.Hiss_Adress, h.Hiss_Gatunummer, h.Hiss_Uppg, h.Hiss_Area, h.Hiss_Ans_Montor, s.Hiss_ID " &_
				"ORDER BY h.Hiss_Adress, h.Hiss_Gatunummer, mdatum"
```

Permalänk: https://www.webforum.nu/p/1451943

## #8 — MickeA.com, 2004-10-04T15:27Z

Precis så ser min kod redan ut, men får samma felmess ändå.
Innan jag (du ;)) modifierade SQLfrågan, så funkade det, det bör alltså vara ngt som har med *mdatum* att göra?

Permalänk: https://www.webforum.nu/p/1451944

## #9 — LarsG, 2004-10-04T15:44Z

ja visst ja. Access klarar inte av att man använder alias i order by. Antingen får du skriva dit max(s.service_datum) i order by eller så får man ange ordningsnumret som uttrycket har i select-listan.

Permalänk: https://www.webforum.nu/p/1451948

## #10 — MickeA.com, 2004-10-04T18:54Z

Såhär har jag gjort:

```
strSQL =	"SELECT h.Hiss_ID, h.Hiss_Adress, h.Hiss_Gatunummer, h.Hiss_Uppg, h.Hiss_Area, h.Hiss_Ans_Montor, s.Hiss_ID, max(s.Service_Datum) " &_
				"FROM tbl_hiss h INNER JOIN tbl_service s ON h.Hiss_ID = s.Hiss_ID " &_
				"WHERE h.Hiss_Ans_Montor = '" & Session("logged_in_usr") & "' AND DateDiff('m', s.Service_Datum, date()) > 4 " &_
				"GROUP BY h.Hiss_ID, h.Hiss_Adress, h.Hiss_Gatunummer, h.Hiss_Uppg, h.Hiss_Area, h.Hiss_Ans_Montor, s.Hiss_ID " &_
				"ORDER BY h.Hiss_Adress, h.Hiss_Gatunummer, max(s.Service_Datum)"
```

Samma felmess...

Permalänk: https://www.webforum.nu/p/1452067

## #11 — LarsG, 2004-10-04T19:10Z

Nu känner jag mig något tappad. Vad händer om du tar bort max(s.Service_Datum) från order by?

Permalänk: https://www.webforum.nu/p/1452077

## #12 — MickeA.com, 2004-10-04T19:23Z

> **LarsG skrev:**
>
> Nu känner jag mig något tappad. Vad händer om du tar bort max(s.Service_Datum) från order by?

Samma felmess...
Måste alltså vara fel ngn annanstans?

Permalänk: https://www.webforum.nu/p/1452089

## #13 — LarsG, 2004-10-04T19:24Z

Om du skriver ut frågan och kör den direkt i Access så brukar det ge bättre felmeddelande.

Permalänk: https://www.webforum.nu/p/1452091

## #14 — MickeA.com, 2004-10-04T19:32Z

Den jobbiga biten i det här är att det funkar klockrent när jag provar i Access.

```
SELECT h.Hiss_ID, h.Hiss_Adress, h.Hiss_Gatunummer, h.Hiss_Uppg, h.Hiss_Area, h.Hiss_Ans_Montor, s.Hiss_ID, max(s.Service_Datum) FROM tbl_hiss h INNER JOIN tbl_service s ON h.Hiss_ID = s.Hiss_ID WHERE h.Hiss_Ans_Montor = '{4E76A517-11AD-4D5B-A9C4-3C9E968B193E}' AND DateDiff('m', s.Service_Datum, date()) > 4 GROUP BY h.Hiss_ID, h.Hiss_Adress, h.Hiss_Gatunummer, h.Hiss_Uppg, h.Hiss_Area, h.Hiss_Ans_Montor, s.Hiss_ID ORDER BY h.Hiss_Adress, h.Hiss_Gatunummer
```

Ovanstående provade jag och det funkar klockrent som sagt.

Vad är det som gör att det inte funkar när jag kör:

```
strSQL =	"SELECT h.Hiss_ID, h.Hiss_Adress, h.Hiss_Gatunummer, h.Hiss_Uppg, h.Hiss_Area, h.Hiss_Ans_Montor, s.Hiss_ID, max(s.Service_Datum) " &_
				"FROM tbl_hiss h INNER JOIN tbl_service s ON h.Hiss_ID = s.Hiss_ID " &_
				"WHERE h.Hiss_Ans_Montor = '" & Session("logged_in_usr") & "' AND DateDiff('m', s.Service_Datum, date()) > 4 " &_
				"GROUP BY h.Hiss_ID, h.Hiss_Adress, h.Hiss_Gatunummer, h.Hiss_Uppg, h.Hiss_Area, h.Hiss_Ans_Montor, s.Hiss_ID " &_
				"ORDER BY h.Hiss_Adress, h.Hiss_Gatunummer"
'Response.Write(strSQL)
'Response.End
Set oRec = oConn.Execute(strSQL)
```

Permalänk: https://www.webforum.nu/p/1452098

## #15 — LarsG, 2004-10-04T20:10Z

Gör du connect till rätt databas?

Permalänk: https://www.webforum.nu/p/1452112

## #16 — MickeA.com, 2004-10-04T20:47Z

Japps, med tanke på att allt funkade schysst till det att du ändrade lite i SQL frågan, så ja.

Jag förstår ingenting av det här.

Permalänk: https://www.webforum.nu/p/1452132

## #17 — MickeA.com, 2004-10-19T10:28Z

Hmm, det här verkar ha runnit ut i sanden.
Det som är konstigt att ovanstående SQL fråga funkar bra och ger rätt resultat när jag kör den direkt i Access.

Men kör jag den med min aspfil så får jag som sagt:

```
Feltyp:
Microsoft JET Database Engine (0x80040E10)
Det har inte angetts något värde för en eller flera nödvändiga parametrar.
/hissen/register/mService.asp, line 35
```

´Är det någon som vet varför det blir såhär?
Trodde frånbörjan att det berodde på en / flera felstavning(ar), men har kollat och allt ser schysst ut.

Ngra andra förslag?

Permalänk: https://www.webforum.nu/p/1464710

## #18 — MickeA.com, 2004-10-25T08:50Z

Hej igen!

Nu skulle jag verkligen behöva lösa det här.
Finns det något sett att göra om hela frågan, så att jag får samma resultat, fast utan felmess?

Kan det bero på min databaskoppling, på mitt rekordset, eller vad?
Vore väldigt tacksam om någon visste ett svar på det här, för det är rätt viktigt för min del att få snurr på koden.

Permalänk: https://www.webforum.nu/p/1467936

## #19 — MickeA.com, 2004-10-26T18:37Z

Hej!

Nu tog jag tag i det här och har fått igång det halvdant:

```
strSQL =	"SELECT h.Hiss_ID, h.Hiss_Adress, h.Hiss_Gatunummer, h.Hiss_Uppg, h.Hiss_Area, h.Hiss_Ans_Montor, " &_
				"s.Hiss_ID, max(s.Service_Datum) as mdatum, s.Service_Anm, s.Service_ID " &_
				"FROM tbl_hiss AS h INNER JOIN tbl_service AS s ON h.Hiss_ID = s.Hiss_ID " &_
				"WHERE h.Hiss_Ans_Montor = '{4E76A517-11AD-4D5B-A9C4-3C9E968B193E}' AND DateDiff('m', s.Service_Datum, date()) = 4 " &_
				"GROUP BY h.Hiss_ID, h.Hiss_Adress, h.Hiss_Gatunummer, h.Hiss_Uppg, h.Hiss_Area, h.Hiss_Ans_Montor, s.Hiss_ID, s.Service_Anm, s.Service_ID " &_
				"ORDER BY h.Hiss_Adress, h.Hiss_Gatunummer;"
```

Nu har jag bara en grej kvar med det här, som jag hoppas att någon kan hjälpa mig med.
Den här frågan ska ju visa de objekt där "Service_Datum" är MER (\>) än 4 månader från aktuell månad.

Som det är nu visar den alla äldre, vilket är lite jobbigt. Jag vill alltså att den ska plocka ut **endast den senaste** av de poster är äldre än 4 månader.

Hur ska jag göra?

Permalänk: https://www.webforum.nu/p/1468750

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/112858-hämta-endast-ett-datum-för-varje-adress
