---
title: "Join tror jag"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/105171-join-tror-jag"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "icaaq"
published: "2004-06-07T09:05:40.000Z"
updated: "2004-06-08T08:27:02.000Z"
replies: 9
views: 304
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/105171-join-tror-jag"
---

# Join tror jag

## #1 — icaaq, 2004-06-07T09:05Z

Hej.
Jag har följande tabeller.

```
[red]
[b]tblBookings[/b]
pk_id (räknare) | fk_PersonId (tal, i relation med tblPerson.pk_id)  | fk_ExpoDisplayId (tal, i relation med tblExpoDisplay.pk_id)

[b]tblPerson[/b]
pk_id (räknare) | fldName (text) | fldAdress (text)

[b]tblExpoDisplay[/b]
pk_id (räknare) | fk_ExpoId (tal, i relation med tblExpo.pk_id) | fk_DisplayId (tal, i relation med tblDisplay.pk_id)

[b]tblExpo[/b]
pk_id (räknare) | fldName (text)

[b]tblDisplay[/b]
pk_id (räknare) | fldName (text)

[/red]
```

Nu får ni en nöt att knäcka ;) 

Jag vill ha plocka fram tblPerson.fldName, tblExpo.fldName, tblDisplay.fldName där det tblBookings.fk_ExpoDisplayId = tblExpoDisplay.pk_id.

Nån som känner sig sugen ;) Jag klockar er........

mv icaaq

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

## #2 — OveRRidE, 2004-06-07T09:32Z

Jag är inte säker, men jag testar. ;)

RED. Näe, det är nog helt åt skogen det där. :e

RED2. Vi gör ett nytt försök; 

```
SELECT * FROM tblBookings b
   INNER JOIN tblPerson p ON p.pk_id = b.fk_PersonId 
   INNER JOIN tblExpoDisplay ed ON [u]ed.pk_id = b.fk_ExpoDisplayId[/u]
   INNER JOIN tblExpo e ON e.pk_id = ed.fk_ExpoId
   INNER JOIN tblDisplay d ON d.pk_id = ed.fk_DisplayId
```

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

## #3 — icaaq, 2004-06-07T10:03Z

Kan man rada upp INNER JOIN´s på det där sättet? För jag får fel om har med flera INNER JOINS :( men om jag bara använder en så får jag ut det jag vill ha.

mv icaaq

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

## #4 — OveRRidE, 2004-06-07T10:15Z

Använder du Access? 

Isåfall måste varje substatement inneslutas i paranteser:

```
SELECT * FROM ((((tblBookings b
   INNER JOIN tblPerson p ON p.pk_id = b.fk_PersonId)
   INNER JOIN tblExpoDisplay ed ON ed.pk_id = b.fk_ExpoDisplayId)
   INNER JOIN tblExpo e ON e.pk_id = ed.fk_ExpoId)
   INNER JOIN tblDisplay d ON d.pk_id = ed.fk_DisplayId)
```

Jag *tror* att det är där de skall sitta iallafall. ;)

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

## #5 — icaaq, 2004-06-07T10:29Z

WEeeEeEeEeEe

Kanon OveRRide :D

mv icaaq

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

## #6 — icaaq, 2004-06-07T15:02Z

Nu skulle jag vilja utöka lite. jag har denna.

```
[red]
SELECT DISTINCT p.fldCompany, b.fk_PersonId AS bid, ep.fldStatus AS status, e.fldExpoName, [b](SELECT COUNT(*) FROM ( ((tblPerson AS p INNER JOIN tblBookings AS b ON p.pk_id=b.fk_PersonId) INNER JOIN tblExpoDisplay AS ep ON b.fk_ExpoDisplayId=ep.pk_id) INNER JOIN tblExpo AS e ON ep.fk_ExpoId=e.pk_id) WHERE ep.fldStatus = 1 AND p.pk_id = b.fk_personId) AS cnt[/b]
FROM ((tblPerson AS p INNER JOIN tblBookings AS b ON p.pk_id=b.fk_PersonId) INNER JOIN tblExpoDisplay AS ep ON b.fk_ExpoDisplayId=ep.pk_id) INNER JOIN tblExpo AS e ON ep.fk_ExpoId=e.pk_id;
[/red]
```

det är min count som inte vill som jag vill..... nu får jag ut värdet av alla poster som har fldStatus = 1 men jag vill bara ha det antal som har fldStatus = 1 och det personId´t

Hoppas ni förstår ;)

mv icaaq

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

## #7 — LarsG, 2004-06-07T15:07Z

```
SELECT DISTINCT p.fldCompany, b.fk_PersonId AS bid, 
       ep.fldStatus AS status, e.fldExpoName, 
 (SELECT COUNT(*) FROM ( ((tblPerson AS p INNER JOIN tblBookings AS b1 
  ON p.pk_id=b1.fk_PersonId) INNER JOIN tblExpoDisplay AS ep 
  ON b1.fk_ExpoDisplayId=ep.pk_id) INNER JOIN tblExpo AS e 
  ON ep.fk_ExpoId=e.pk_id) 
  WHERE ep.fldStatus = 1 AND p.pk_id = b.fk_personId) AS cnt
FROM ((tblPerson AS p INNER JOIN tblBookings AS b 
  ON p.pk_id=b.fk_PersonId) INNER JOIN tblExpoDisplay AS ep 
  ON b.fk_ExpoDisplayId=ep.pk_id) INNER JOIN tblExpo AS e 
  ON ep.fk_ExpoId=e.pk_id;
```

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

## #8 — icaaq, 2004-06-08T06:14Z

Tack LarsG.
Den funkade som vanligt.

Men jag kan inte förstå varför jag inte kan använda b?

mv icaaq

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

## #9 — LarsG, 2004-06-08T08:22Z

Du hade två b i din första fråga. I where i subfrågan så kommer b att peka på den tabell som finns i subfrågan och inte den som finns i huvudfrågan.

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

## #10 — icaaq, 2004-06-08T08:27Z

ok....

mv icaaq

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/105171-join-tror-jag
