---
title: "Hämta från två tabeller"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/105029-hämta-från-två-tabeller"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "bionic"
published: "2004-06-05T20:15:26.000Z"
updated: "2004-06-05T21:57:52.000Z"
replies: 8
views: 408
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/php/105029-hämta-från-två-tabeller"
---

# Hämta från två tabeller

## #1 — bionic, 2004-06-05T20:15Z

Hej.
Jag har ett nyhetsscript som använder 2 tabeller, tNews och tUsers.

från tNews använder jag ID News Author och Date, där Author är användarens id i tUser-tabellen. Det jag behöver hjälp med är att skriva ut användarnamnet som hör till det ID:t. Kolumnen heter cUser och ligger i tUsers.

Kanske blev dåligt förklarat men någon förstår nog :)

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

## #2 — Bäckman, 2004-06-05T20:32Z

Jag gör ett försök. Nu vet jag inte vad dina fält i tabellen tusers heter, men jag använder id och username i mitt exempel.

```php
$sql = "select n.id, n.news, n.author, n.date, u.username from tnews as n left outer join tusers as u on n.author = u.id";
$result = mysql_query($sql);

while ($array = mysql_fetch_assoc($result)) {
echo $array["news"] ."<br/>". $array["username"];
}
```

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

## #3 — bionic, 2004-06-05T20:44Z

Fixade det med hjälp av ditt exempel...såhär blev det:

```php
$sql = "SELECT * FROM tNews as n LEFT OUTER JOIN tUsers as u on cAuthor = uID ORDER BY cDate, cTime DESC";
```

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

## #4 — K@llen, 2004-06-05T20:58Z

Varför en left outer join?
Alla nyheter har väl en författare?
Vill du skriva ut nyheten om den saknar författare?

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

## #5 — Bäckman, 2004-06-05T21:05Z

Det är ju lite efter tycke och smak. :)

Bionic: Om du inte vill skriva ut nyheten om den saknar författare så byt ut "LEFT OUTER JOIN" mot "INNER JOIN".

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

## #6 — bionic, 2004-06-05T21:08Z

jag har ingen koll alls på dom olika jointyperna. kollade i mysql-manualen men det gjorde mig inte vettigare.

vad är skillnad på inner och outer join?
nyheterna kommer alltid ha en författare, precis som du säger.

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

## #7 — K@llen, 2004-06-05T21:14Z

Skillnaden mellan en inner join och en left outer join är att du i en left outer join får alla rader från den tabellen som står till vänster i join-villkoret. Men om det finns rader i den högra tabellen som uppfyller join-villkoret då får du även dessa, annars får du en post med null i de kolumner som tillhör den högra tabellen.

En inner join får du bara poster ifrån om join-villkoret uppfylls för båda tabellerna.

RED:
stavfel

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

## #8 — bionic, 2004-06-05T21:24Z

Jag provade att lämna kolumnen cAuthor tom på en av nyheterna, och köra både outer och inner join för att se skillnaden, men det blev exakt samma resultat. Nyheten skrevs ut och det stod bara () där det ska vara (skribent).

edit: jag körde left join och left outer join. då blev det ingen skillnad menar jag. left inner join gav felmeddelande trots att  cAuthor var satt. ??

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

## #9 — K@llen, 2004-06-05T21:57Z

> **bionic skrev:**
>
> edit: jag körde left join och left outer join. då blev det ingen skillnad menar jag. left inner join gav felmeddelande trots att  cAuthor var satt. ??

Inte så konstigt, "left inner join" är din egen påhittade variant. ;) Prova att enbart skriva "inner join". :)

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

---

Tråden på webben: https://www.webforum.nu/amne/php/105029-hämta-från-två-tabeller
