---
title: "Presentera resultat som EJ fick träff"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/173721-presentera-resultat-som-ej-fick-träff"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "klockren"
published: "2008-08-29T14:02:19.000Z"
updated: "2008-09-02T07:49:32.000Z"
replies: 4
views: 389
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/173721-presentera-resultat-som-ej-fick-träff"
---

# Presentera resultat som EJ fick träff

## #1 — klockren, 2008-08-29T14:02Z

Säg att jag har två tabeller, en med personer och en med städer.

Ex:
Tabell1 har kolumnerna PersonId och Namn med värden som 1 - Bengt, 2 - Göran, 3 - Abdullah, 4 - Ann-Kristin etc

Tabell2 har kolumnerna PersonId och stad, 1 - Borås, 1 - Allingsås, 2 - Mjölby, 2 - Finspång, 2 - Mora, 3 - Umeå, 3 - Borås osv. osv.

PROBLEM
Hur skriver jag en fråga som listar alla personer som INTE varit i Borås (inklusive de som inte varit någonstans)?

Gör jag en

```
SELECT Tabell1.namn
FROM Tabell1, Tabell2
WHERE Tabell1.PersonId = Tabell2.PersonId(+)
AND (Tabell2.Stad <> 'Borås' OR Tabell2.Stad IS NULL)
ORDER BY 1
```

så kommer de som varit i Borås OCH andra städer att visas, bara de som ENDAST varit i Borås faller bort. Hjälp!

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

## #2 — spango, 2008-08-29T14:16Z

Typ

```
SELECT Tabell1.namn
FROM Tabell1
LEFT JOIN Tabell2 ON Tabell1.PersonId = Tabell2.PersonId
WHERE Tabell2.Stad = 'Borås'
GROUP BY Tabell1.Namn
HAVING COUNT(Tabell2.Stad) = 0
ORDER BY tabell1.namn
```

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

## #3 — klockren, 2008-09-02T06:28Z

Tack spango,

dock returnerar koden alltid 0 träffar eftersom den först söker ut de som varit i Borås (person 2 som varit i Mjölby, Finspång och Mora kommer inte med vilket de ska):

```
WHERE Tabell2.Stad = 'Borås'
```

och sedan utesluter dem:

```
GROUP BY Tabell1.Namn
HAVING COUNT(Tabell2.Stad) = 0
```

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

## #4 — Peter S, 2008-09-02T06:37Z

```
select t1.namn
  from tabell t1
 where t1.personid
not in ( select personid
           from tabell2
          where namn = 'Borås' )
```

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

## #5 — spango, 2008-09-02T07:49Z

**red.** Jag är ju helt slut.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/173721-presentera-resultat-som-ej-fick-träff
