---
title: "problem med följande sql-fråga"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/152773-problem-med-följande-sql-fråga"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "jme"
published: "2006-10-20T09:01:26.000Z"
updated: "2006-10-20T11:04:28.000Z"
replies: 2
views: 264
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/152773-problem-med-följande-sql-fråga"
---

# problem med följande sql-fråga

## #1 — jme, 2006-10-20T09:01Z

Hej.

Jag har tre tabeller:

evenemang:
\-evenemang_id

avdelning:
\-avdelning_id
\-evenemang_id pekar mot evenemang.evenemang_id

bokningar:
\-id
\-evenemang_id pekar mto evenemang.evenemang_id
\-avdelning_id pekar mot avdelning.avdelning_id

Hur får jag ut alla de poster från tabellen evenemang som har MINST EN avdelning och som också måste vara ledig? Avdelningen är ledig om den inte finns inlaggd i tabellen bokningar (eller den får finnas i tabellen bokningar men då i en annan sammanhang).

T ex:

Evenemang 1  (med evenemang_id ev1) har två avdelningar:
\- avd1
\- avd2

Evenemang 2 (evd2) har:
\-avd3

I tabellen bokningar finns följande post:

post #1
id : bok1
evenemang_id = ev1
avdelning_id = avd2

post #2:
id: bok2
evenemang_id = ev2
avdelning_id = avd3

Det betyder alltså att Evenemang 1 skall visas då den ännu har avd1 ledigt.
Evenemang 2 skall inte visas även om DEN HAR en avdelning MEN den är redan bokad och den har bara en avdelning.

Jag har stora problem med denna sql-fråga. Vore enormt tacksam för lite vägledning och ljus. :)

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

## #2 — yohpops, 2006-10-20T10:54Z

```
select * from evenemang where evenemang_id in 
(select evenemang_id from avdelning where avdelning_id not in
(select distinct avdelning_id from bokningar))
```

kanske?

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

## #3 — jme, 2006-10-20T11:04Z

Kom själv på nästan samma lösning som du! :)

Jobbigt att det ska vara så svårt att lista ut. Det där var ju inte SÅ klurigt. :\|

Måste dock ha med evenemang_id i subqueryn då en avdelning måste länka ihop med en viss evenemang. Med din query så får jag 0 returnerade poster.

Med följande 

```php
select * from evenemang where evenemang_id in 
(select evenemang_id from avdelning where avdelning_id not in
(select distinct avdelning_id from bokningar where evenemang.evenemang_id = bokningar.evenemang_id) )
```

så verkar det fungera. Stort tack för hjälpen! :)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/152773-problem-med-följande-sql-fråga
