---
title: "select:a med flera krav"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/65906-select-a-med-flera-krav"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "udden"
published: "2003-01-23T15:40:55.000Z"
updated: "2003-01-23T17:57:43.000Z"
replies: 4
views: 252
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/65906-select-a-med-flera-krav"
---

# select:a med flera krav

## #1 — udden, 2003-01-23T15:40Z

ms sql.

har en tabell med ordrar, tblorder
har en tabell med produkter i ordrarna, tblorderprod
har en tabell med status till varje produkt, tblstatus

nu vill jag välja ut alla ordrar där ALLA produkterna tillhörande denna order har en viss status, t.ex "klar". Just det med alla är ju ett problem då jag inte vet hur man håller reda på ifall en av många produkter uppfyller kravet.

kan ju göra det med 2 recordset, ett för varje order och sedan för varje order gå igenom alla produkter och se om alla har denna status, men går detta att göra med en sqlsats?

blir glad för lite tankegånger, för oss mig står det helt still...

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

## #2 — LarsG, 2003-01-23T15:50Z

```
select * from tblorder  tord
where not exists
(select * from tblStatus 
  where status <> 'Klar'
      and orderid = tord.orderid )
```

Osäker på hur tabellerna är relaterade så jag gissade lite.

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

## #3 — cyprys, 2003-01-23T15:51Z

Fundering: Undrar vad SQL-forumet skulle vara utan LarsG :)

/r Förlåt om det var lite offtopic

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

## #4 — udden, 2003-01-23T16:25Z

så sant så sant..

ja det kan man undra.

förstår inte hur du skalar ner så enkelt LarsG, men man blir ju knappast förvånad längre? 

hade inte en tanke på not in, men det är ju huvudet på spiken. som alltid :)

mkt tacksam..

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

## #5 — udden, 2003-01-23T17:57Z

epilog

ok. fungerar nu helt. 

blev 6 inner joins och 2 subselect, och grunden var din lösning larsG, lite småchockad att denna sqlsats fungerar, men klaga ska man ju inte... ifall ngn nyfiken (heh) vill se så blev den så här:

strSQL = "SELECT ord.intId AS intId_ord, ord.datDate AS datDate " &\_
			 "FROM tblOrder_ord ord " &\_
			 "WHERE NOT EXISTS " &\_
				"(SELECT orp.intId_ord AS intId_ord " &\_
					"FROM ((tblOrderProduct_orp orp INNER JOIN " &\_
						"tblOrp_Link_tblSta_ols ols ON " &\_ 
						"orp.intId = ols.intId_orp) INNER JOIN " &\_
						"(tblStatus_sta sta INNER JOIN " &\_
							"tblStatusCode_sco sco ON sta.intId_sco = sco.intId) ON " &\_
						"ols.intId_sta = sta.intId AND sta.intId IN " &\_
						"(SELECT TOP 1 sta2.intId " &\_
							"FROM tblStatusCode_sco sco2 INNER JOIN " &\_
								"(tblStatus_sta sta2 INNER JOIN " &\_
								"(tblOrp_Link_tblSta_ols ols2 INNER JOIN " &\_
								"tblOrderProduct_orp orp2 ON " &\_ 
								"ols2.intId_orp = orp2.intId) ON " &\_ 
							"sta2.intId = ols2.intId_sta) ON " &\_ 
							"sco2.intId = sta2.intId_sco " &\_
							"WHERE orp2.intId = orp.intId " &\_
							"ORDER BY sta2.datDate DESC, sco2.intRank DESC" &\_
						")" &\_
				") " &\_
			"WHERE sco.intRank \<\> '6' AND orp.intId_ord = ord.intId) " &\_
			"AND ord.intSent \<\> 1"

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/65906-select-a-med-flera-krav
