select obj_id from t
where obj_id in (1,2,3)
group by obj_id
having max(slut_datum) <= current_date
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
