---
title: "Sökfråga från 2 tabeller (snabbt svar)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/11240-sökfråga-från-2-tabeller-snabbt-svar"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Addeladde"
published: "2001-08-20T20:11:00.000Z"
updated: "2001-08-22T13:39:00.000Z"
replies: 15
views: 309
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/asp/11240-sökfråga-från-2-tabeller-snabbt-svar"
---

# Sökfråga från 2 tabeller (snabbt svar)

## #1 — Addeladde, 2001-08-20T20:11Z

Jag sitter och filar på en funktion som måste blir klar tills imorgon.

Det är en sökfråga som ska hämta information från en tabell och sedan göra en sökning ur en annan med informationen från denna.

Ex vi har en medlem som har ID nummer 10
Då ska den leta i tabellen bokningar där kundID är 10. De rader som den hittar ska den plocka ut kursID.

Sedan ska den göra en sökning i tabbelen kurser och visa de kurser man har bokat där kurs_datum inte har passerat.

Jag har inte riktigt kunskapen för att snabbt kunna knapra ihop någon funktion så det vore jätte snällt om någon kunde hjälpa mig. :O

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

## #2 — @nders, 2001-08-20T20:23Z

något sånt härnt kanske?

```
SELECT * FROM KURSER WHERE kursID IN (SELECT DISTINCT kursID FROM bokningar WHERE kundID = 10) AND kurs_datum >= date()
```

använder du sql server, byt ut **date()** mot **getdate()**.

redigering: skall det kanske vara now() i access? det känns nästan så, så här i efterhand...

mvh,

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

## #3 — jorgen, 2001-08-20T20:24Z

Hej!

```

strSQL = "SELECT * " & _
"FROM tabell1 " & _
"INNER JOIN tabell2 " & _
"on tabell1.fält = tabell2.fält " & _
"where Id = 10 AND " & _
"kurs_datum < en_bra_datediff"
```

ingen fungerande kod, men jag spånade lite på hur du kan göra.

r: @nders kod är smidigare, men subqueries fungerar inte i bla mysql.

mvh Jörgen

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

## #4 — @nders, 2001-08-20T20:44Z

tycker att det där *borde* funka i mysql, men lovar absolut ingenting. :)

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

## #5 — Addeladde, 2001-08-20T20:49Z

Har gjort en funktion som fungerar nu.

```
Set utfardRS = Server.CreateObject( "ADODB.Recordset" )
utfardRS.ActiveConnection = Con
utfardRS.CursorType = adOpenStatic
utfardRS.Pagesize = 100

sqlString = "SELECT utfard_namn, utfard_id " &_
  "FROM utfarder " &_
  "WHERE utfard_ID IN (SELECT DISTINCT utfardID FROM utfarderkunder WHERE userID = " & userID & " ) " &_ 
  "AND utfard_bokningsdag >= getdate() "&_
  "ORDER BY utfard_datum"
utfardRS.Open sqlString
utfardRS.AbsolutePage = pg
```

Men jag vill få ut ID från tabbelen utfarderkunder för varje utfard som visas.

Jag vill kunna avboka exakt rätt utfärd som man väljer att klicka på.

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

## #6 — @nders, 2001-08-21T04:45Z

nu förstår jag inte.

enligt din originalfråga så är ju utfarder.utfard_id och utfarderkunder.utfardid samma? då har du ju rätt id i fältet utfard_id i ditt recordset?

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

## #7 — Addeladde, 2001-08-21T12:01Z

Det id jag menar är från tabellen utfarderkunder och är ordernumret
alltså det unika numret varje rad i databasen får

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

## #8 — LarsG, 2001-08-21T12:10Z

I så fall får du göra en join 

```
sqlString = "SELECT u.utfard_namn, u.utfard_id,uk.id " &_
"FROM utfarder as u,utfarderkunder as uk " &_
"WHERE uk.utfard_ID = uk.utfardID " & _ 
" AND userID = " & userID & " ) " &_ 
"AND u.utfard_bokningsdag >= getdate() "&_
"ORDER BY u.utfard_datum"

utfardRS.Open sqlString
utfardRS.AbsolutePage = pg
```

Rent modelleringsmässigt så borde du inte behöva någon räknare i tabellen  utfarderkunder då userid och utfardid tillsammans är unika.

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

## #9 — Addeladde, 2001-08-21T15:21Z

Jo det behövs faktiskt en räknare eftersom om en person bokar sig två gånger på samma utfard.

Då vill man ju kunna ta bort en utav dem. Jag vill ju heller inte förhindra att man kan göra bokningar på samma userid eftersom man kanske bokar en kompis.

Jag ska försöka med din funktion får jag några problem frågar jag igen :)

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

## #10 — Addeladde, 2001-08-22T12:40Z

Jag fattar inte riktigt nu när jag har satt mig in i sökfrågan.

u.utfard_id ska det skrivas så eller specificerar du bara vilken tabbel det kommer ifrån.

Så här ser tabbelen utfardeKunder ut:
ordernr (identety)
utfardID
userID

Så här ser tabbelen utfarder ut:
utfard_id
utfard_namn
utfard_datum

Kan du skriva om så jag förstår lite bättre så vore det jätte schyst.

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

## #11 — jorgen, 2001-08-22T12:47Z

Hej!

LarsG ger tabellen ett prefix som han senare använder för att ange både tabell och fält, då slipper man skriva ut hela tabellnamnet varje gång samt att du anger vilket fält som hör till vilken tabell.

Annars kan du få fel tex: field Id is ambigius (tror det stavas så :q )

**utfarder as u**

Ps. Såg att LarsG glömt en parantes i sin kod, som du får lägga till. Ds

mvh Jörgen

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

## #12 — Addeladde, 2001-08-22T12:56Z

Ok nu förstår jag var t glömde han parantesen då?

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

## #13 — LarsG, 2001-08-22T13:07Z

Nja, det är en parentes för mycket efter userID

```
sqlString = "SELECT u.utfard_namn, u.utfard_id,uk.id " &_
"FROM utfarder as u,utfarderkunder as uk " &_
"WHERE uk.utfard_ID = uk.utfardID " & _ 
" AND userID = " & userID & _ 
"AND u.utfard_bokningsdag >= getdate() "&_
"ORDER BY u.utfard_datum"
utfardRS.Open sqlString
utfardRS.AbsolutePage = pg
```

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

## #14 — jorgen, 2001-08-22T13:27Z

Hej LarsG!

En fråga jag länge undrat över nu som du kanske vet fast att det inte är SQL (vad jag vet :e )

vad betyder:

> essentitia preter non sans multiplicandum

mvh Jörgen

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

## #15 — Addeladde, 2001-08-22T13:38Z

Nu fungerar det var ett litet fel på raden where uk.utfard_id = uk_utfardID

Ändrade den

```
sqlString = "SELECT u.utfard_namn, u.utfard_datum, u.utfard_id, uk.ordernr " &_
"FROM utfarder as u, utfarderkunder as uk " &_
"WHERE u.utfard_ID = uk.utfardID " & _ 
" AND userID = " & userID & "  " &_ 
"AND u.utfard_bokningsdag >= getdate() "&_
"ORDER BY u.utfard_datum"
utfardRS.Open sqlString
```

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

## #16 — LarsG, 2001-08-22T13:39Z

<http://cgi.webforum.nu/wf/Forum11/HTML/005458.html#4>

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/11240-sökfråga-från-2-tabeller-snabbt-svar
