---
title: "SQL med undantag"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/83963-sql-med-undantag"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "lillen_009"
published: "2003-08-11T08:24:23.000Z"
updated: "2003-08-11T15:13:37.000Z"
replies: 9
views: 322
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/83963-sql-med-undantag"
---

# SQL med undantag

## #1 — lillen_009, 2003-08-11T08:24Z

rörigt är bara början...
Ska försöka förklara. Har en tabell med alla användare (members). Unika numret är memberID...

Har en tabell med vänner (friends). Där finns två kolumner.
friends.memberID = anvädaren som lagt till sina kompisar
friends.friendID = användarens kompisar.

Både friend.memberID och friend.memberID kan relateras till members.memberID.

har provat med:
SQL ="SELECT \* FROM members left join friends on friends.memberID= members.MemberID WHERE members.memberID =" & session("memberID") & " friends.friendID is null"

Vad jag vill är att visa alla medlemmar som \_inte\_ är hans/hennes kompisar

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

## #2 — mattiasjarnhall, 2003-08-11T08:28Z

Detta bör fungera om din databas stöder nästlade SQLsatser

SELECT \* FROM members WHERE memberID Not In (SELECT friendID FROM friends WHERE memberID = 'medlemmensNamn')

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

## #3 — lillen_009, 2003-08-11T08:40Z

tyvärr gör den inte det. Har MySQL 4.0.xxx

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

## #4 — mattiasjarnhall, 2003-08-11T08:42Z

Ajdå.. värre med det.. Du kan inte uppgradera till 4.1? Tror den skall stödja nästlade SQLsatser

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

## #5 — lillen_009, 2003-08-11T08:44Z

jag kan, men webhotellet gör det inte... 

Kan man inte göra om de till två frågor på något sätt?

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

## #6 — lillen_009, 2003-08-11T08:59Z

Har knåpat lite till:

```
SQL ="SELECT * FROM members left join friends on friends.memberID = members.MemberID and friends.memberID = members.memberID WHERE friends.friendID is null"
```

 

fungerar till viss del, men den tar inte hänsyn till om det finns flera rader med samma memberID i Friends -\> dvs, den utesluter bara det första och tar med resten

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

## #7 — SteveP, 2003-08-11T12:04Z

Varför joinar du 2 gånger av samma?

```
friends.memberID = members.MemberID and friends.memberID = members.memberID
```

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

## #8 — LarsG, 2003-08-11T12:10Z

```
SELECT * FROM members left join friends 
on members.memberID = friendID 
and friends.memberid = <session("memberID")>
WHERE friendid is null
```

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

## #9 — lillen_009, 2003-08-11T13:29Z

tack LarsG, det verkar fungera ungefär som jag vill. Ett litet sista problem... Jag vill inte att det memberid ska visas som den inloggade personen har. Det lagras i session("memberID") . Kan man sätta in :OO 

" and not members.memberID=" & session("memberID")

eller något liknande någonstans i frågan? :q

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

## #10 — LarsG, 2003-08-11T15:13Z

Det borde väl gå, dvs ungefärligen 

```
sql =  _
" SELECT * FROM members left join friends " & _
" on members.memberID = friendID " & _
" and friends.memberid =  " & session("memberID") & _
" and not members.memberID=" & session("memberID") & _
" WHERE friendid is null
```

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/83963-sql-med-undantag
