---
title: "Fastnat lite med datum.."
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/69876-fastnat-lite-med-datum"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Joakim"
published: "2003-03-03T10:44:02.000Z"
updated: "2003-03-03T15:10:13.000Z"
replies: 6
views: 221
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/69876-fastnat-lite-med-datum"
---

# Fastnat lite med datum..

## #1 — Joakim, 2003-03-03T10:44Z

Hej!

Har fastnat lite med ett problem.

Har en tabell med följande kollumner:
id, obj_id, date_start, date_end

Det handlar om att hyra ut utrustning och varje hyra läggs in i tabellen med ett unikt id, id för prylen som hyrs ut, startdatum för hyran samt slutdatum för hyran. Jag vill ha en fråga som ger de "obj_id" som inte är uthyrda eller kommer in under dagen, dvs där det inte finns något start- eller slutdatum som är högre än dagens datum.

Försöker åskådliggöra om ni inte förstod;

1, 1, 2003-03-01, 2003-03-02
2, 2, 2003-03-01, 2003-03-02
3, 3, 2003-02-24, 2003-03-01
4, 1, 2003-03-03, 2003-03-10
5, 2, 2003-03-03, 2003-03-03

Om jag kör frågan på dessa fem rader med tre olika "prylar" vill jag alltså ha returnerat obj_id 2 och 3 eftersom de antingen har en hyra som tar slut idag alt är hyresfria, dvs inga start/stopp-datum för det obj_id'et är större än dagens datum.

Det som försvårar för mig är att det i samma tabell finns gamla datum för vissa obj_id som jag får med i resultatet när jag försökt. Det jag är intresserad av är ju att titta på det senaste start/stop-datumen för varje obj_id och se om de är större än dagens datum eller inte.

Tack på förhand!

// Joakim

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

## #2 — LarsG, 2003-03-03T10:54Z

```
select obj_id from t
 where obj_id in (1,2,3)
 group by obj_id
 having max(slut_datum) <= current_date
```

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

## #3 — Joakim, 2003-03-03T11:06Z

Om det funnits ett nobellpris i sql skulle du fått det! =)

vad gör "where obj_id in (1,2,3)" rent konkret? sista raden var vad jag inte kommit fram till, letade efter nåt sätt att bara titta på de största värdena för varje obj_id, men tog till den snabba varianten istället, att fråga här =)

Tack!

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

## #4 — LarsG, 2003-03-03T11:37Z

```
obj_id in (1,2,3)
```

är bara en förkortning för

```
(obj_id = 1 or obj_id = 2 or obj_id = 3)
```

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

## #5 — Joakim, 2003-03-03T12:39Z

Dum fråga kanske, men hur är syntaxen om jag vill ha datumet inom ett intervall istället för ett enda datum? Har inte fått det att funka, har testat flera varianter, men den matchar ändå inte en post som jag vet skall matcha =) Säg dagens datum t.o.m. 2003-03-24.

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

## #6 — LarsG, 2003-03-03T15:03Z

```
select obj_id from t
 where obj_id in (1,2,3)
 group by obj_id
 having max(slut_datum) between current_date and '2003-03-24'
```

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

## #7 — Joakim, 2003-03-03T15:10Z

Man tackar.. testade med det men hade nog inte ' ' runt datumet =/

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/69876-fastnat-lite-med-datum
