---
title: "SELECT från 3 tabeller"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/68903-select-från-3-tabeller"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "dab"
published: "2003-02-20T20:10:33.000Z"
updated: "2003-03-06T02:04:15.000Z"
replies: 5
views: 363
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/68903-select-från-3-tabeller"
---

# SELECT från 3 tabeller

## #1 — dab, 2003-02-20T20:10Z

Hej
Jag skulle behöva ha en query med 3 tabeller till ett forumindex (skriva ut forumkategorier).
Såhär skulle jag vilja ha det:
1\. Hämta ut all info ifrån forumCat
2\. Hämta ut user_id och user_username för varje row där forumCat.catModerator1 = users.user_id (och samma med catModerator2)
3\. Hämta ut all info i forumNewcat för varje row där forumCat.catId = forumNewcat.newcatCat och där forumNewcat.newcatUser = $login-\>userId.

forumCat
\---------
catId
catName
catDesc
catType
catModerator1
catModerator2

users
\-----
user_id
user_username

forumNewcat
\-----------
newcatId
newcatUser
newcatCat

Jättetacksam för svar...

/mvh dab

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

## #2 — LarsG, 2003-02-21T16:44Z

```php
$q = "select catId, catName, catDesc, catType, 
       m1.user_username as moderator1 , m2.user_username as moderator2
  from forumNewcat join forumCat on newCatid = catId
  left join users m1 on catModerator1 = m1.user_id
  left join users m2 on catModerator2 = m2.user_id
 where newcatUser = " . $login->userId;
```

Du nämner inte vad newcatUser är för datatyp så du behöver eventuellt ändra där.

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

## #3 — dab, 2003-02-22T20:06Z

Tack så mycket för svaret, jag inser nu att jag förklarat lite dåligt vad det är jag vill ha.
Denna kod:

```php
	SELECT catId, catName, catDesc, catType, asfd, 
	m1.user_username as moderator1, m2.user_username as moderator2 
	FROM forumCat 
	left join users m1 on catModerator1 = m1.user_id 
	left join users m2 on catModerator2 = m2.user_id
```

 
	
Producerar detta resultat:

```php
 
catId  catName    catDesc  catType  moderator1  moderator2  
2      Kategori1  Desc1    1        NULL        iffe 
3      Kategori2  Desc2    2        dab         Individen
```

 
Men nu vill jag även ha in en tabell till, gärna såhär:

```php
 
catId  catName    catDesc  catType  moderator1  moderator2  newCategory
```

 
där newCategory är lika med 1 eller 0 beroende på om det finns en rad att jämföra med.
alltså:
WHERE catId = newCatCat AND newCatUser = $login-\>userId

Om where blir sann så ska newCategory innehålla 1 om inte 0.
Är detta möjligt att göra?

/mvh dab

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

## #4 — LarsG, 2003-02-22T20:20Z

Jo

```
$q =
"select catId, catName, catDesc, catType, 
            m1.user_username as moderator1 , 
            m2.user_username as moderator2, 
            case when newcatid is null then 0 else 1 end
    from forumCat left join forumNewcat
      on newCatid = catId 
    and newcatUser = " . $login->userId .
 "  left join users m1 
      on catModerator1 = m1.user_id
     left join users m2 
      on catModerator2 = m2.user_id ";
```

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

## #5 — dab, 2003-02-23T06:51Z

ahh, nu funkar det!!
tusen tack!!!

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

## #6 — dab, 2003-03-06T02:04Z

nej det funkar inte alls förresten märkte jag nu =/
när det finns dubbletter så skrivs inte 1:an ut utan det blir en rad för varje dublett.
Här är koden:

SELECT catId, catName, catDesc, catType, catTopicCount, catPostCount, 
m1.user_username AS moderator1, 
m2.user_username AS moderator2, 
CASE WHEN newcatId IS null THEN 0 ELSE 1 END AS newCat
FROM forumCat LEFT JOIN forumNewcat 
ON newcatCat = catId AND newcatUser = '".$login-\>userId."' 
LEFT JOIN users m1 ON catModerator1 = m1.user_id 
LEFT JOIN users m2 ON catModerator2 = m2.user_id

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/68903-select-från-3-tabeller
