---
title: "WHERE IN..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/149690-where-in"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "lillebror"
published: "2006-08-03T17:36:31.000Z"
updated: "2006-08-04T10:20:34.000Z"
replies: 4
views: 282
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/149690-where-in"
---

# WHERE IN...

## #1 — lillebror, 2006-08-03T17:36Z

Hej,

Det var ett tag sen jag var inne i SQL-forumet. Kul att vara tillbaka och få jobba med SQL-koden igen   :e

Nu vill jag bara dubbelkolla ett litet kodstycke innan jag börjar använda det.

Jag har programmerat en undersökningsfunktion med en databas i bakgrunden. När en användare har fyllt i undersökningen markeras det i databasen i tabellen **tblpollsurvey** med **memberID** och **surveyID** så att jag ser vilka som har genomfört den.

Nu ska jag skicka ut en påminnelse till de medlemmar som ännu inte har genomfört den.

Så här ser SQL-satsen ut för det:

```
$sqlSelect = "SELECT firstname, lastname, memberID, username, userpassword, email 
FROM tblmember 
WHERE confirmmembership = 1 AND memberID <> IN(SELECT memberID FROM tblpollsurvey)";
```

Verkar det stämma?!

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

## #2 — LarsG, 2006-08-03T17:44Z

```
 memberID not IN (SELECT memberID FROM tblpollsurvey)
```

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

## #3 — K@llen, 2006-08-03T17:46Z

```
SELECT firstname, lastname, memberID, username, userpassword, email  
  FROM tblmember m
 WHERE m.confirmmembership = 1 
     AND m.memberID NOT IN  
    (SELECT p.memberID 
        FROM tblpollsurvey p)
```

Man kan nog använda \<\>, men jag hade använt not in istället. :)

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

## #4 — lillebror, 2006-08-03T17:55Z

Tack för den snabba responsen!

Jag kört på NOT. Då står det i klartext jämfört med \<\> :)

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

## #5 — lillebror, 2006-08-04T10:20Z

Jag kom på att jag kommer behöva särskilja på utskicken för mina webbenkäter.

**Alt 1 innebär följande:**
Ett mail skickas ut till samtliga medlemmar för första gången en enkät genomförs.

> SELECT firstname, lastname, memberID, username, userpassword, email FROM tblmember WHERE confirmmembership = 1"

**Alt 2 innebär följande:**,
En påminnelse skickas ut till samtliga medlemmar som finns lagrade i tabellen  **tblpollsurveymailedtouser** och som inte finns med i tabellen **tblpollsurvey**

> SELECT firstname, lastname, memberID, username, userpassword, email  
>   FROM tblmember m
>  WHERE 	m.confirmmembership = 1 
> 	AND m.memberID IN(SELECT u.memberID FROM tblpollsurveymailedtouser u) 
>      AND m.memberID NOT IN (SELECT p.memberID FROM tblpollsurvey p)

**Alt 3 innebär följande:**
En mail skickas ut till medlemmar som har registrerat sig efter det att det första mailet om enkäten skickades ut till existerande medlemmar.

> SELECT firstname, lastname, memberID, username, userpassword, email  
>   FROM tblmember m
>  WHERE m.confirmmembership = 1 
>      AND m.memberID NOT IN(SELECT p.memberID FROM tblpollsurvey p)
>      AND m.memberID NOT IN(SELECT u.memberID FROM tblpollsurveymailedtouser u)

Att jag valt att göra flera olika alternativ är för att nyatillkomna medlemmar inte ska få ett mail som uppfattas som en påminnelse när den igentligen riktar sig till medlemmar som inte svarat sedan tidigare.

Verkar SQL-satserna stämma för de olika ändamålen?!

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/149690-where-in
