---
title: "Hämta från tre tabeller"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/53911-hämta-från-tre-tabeller"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Webslave"
published: "2002-09-22T11:32:48.000Z"
updated: "2002-09-22T12:21:32.000Z"
replies: 3
views: 242
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/53911-hämta-från-tre-tabeller"
---

# Hämta från tre tabeller

## #1 — Webslave, 2002-09-22T11:32Z

Kanske passar bäst i mysql... antagligen men jag var här inne så.

Jag har tre tabeller som jag behöver hämta info från:

forum_users
forum_posts
forum_topics

Jag försöker göra ett script som visar senast inlägget och av vem det gjordes av.

Varje post är länkad till ett topic med post_topic = topicID och så långt är det inga problem, problemet uppstår när jag ska hämta användarnamnet post_posterID, för om jag ska göra en vanlig join på dessa tre tabeller så måste jag ju länka ihop dem med något som finns i alla tabeller och i det här fallet så är det användarID:et som finns i alla tre. Men när jag länkar på det så visas varje topic som det användarID:et finns med i... och jag vill bara ha de fem senaste.

Detta är min sqlkod:

```php
$sql = "SELECT forum_posts.*,forum_users.*,forum_topics.* FROM forum_posts INNER JOIN forum_topics ON forum_posts.post_posterID = forum_topics.topic_posterID INNER JOIN forum_users ON forum_users.userID = forum_topics.topic_posterID ORDER BY forum_posts.post_date DESC LIMIT 5";
```

Om ni förstod något över huvudtaget så skulle hjälp uppskattas... jag tror att min beskrivning av problemet är ganska rörig.

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

## #2 — LarsG, 2002-09-22T12:00Z

Det går inte att få till i Mysql med en fråga. Man behöver subselect vilket Mysql inte har.

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

## #3 — Webslave, 2002-09-22T12:01Z

Någon som har en idé på hur jag kan lösa det på annat sätt?

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

## #4 — Webslave, 2002-09-22T12:21Z

Jag lyckades!!!
Det är väldigt rörigt men det kanske hjälper någon annan.

```php
<?PHP
$sql = "SELECT forum_posts.*,forum_topics.* FROM forum_posts INNER JOIN forum_topics ON forum_posts.post_topic = forum_topics.topicID ORDER BY forum_posts.post_date DESC LIMIT 5";
$result = mysql_db_query("$database","$sql");
while($row=mysql_fetch_array($result)){
  ?>
  <table width="100%" align="center" border="0" cellpadding="0" cellspacing="0" class="forum_border">
  <tr>
  <td OnMouseOver="this.style.background='#003300'" OnMouseOut="this.style.background='#333333'">
  <a href="forum/index.php?topic=<?=$row["topicID"]?>&post=<?=$row["postID"]?>" class="link" target="_blank"><?=$row["topic_title"]?></a>  -- <i><?=$row["post_date"]?></i> Posted by: <a href="forum/users.php?usersid=
  <?PHP
  $sql2 = "SELECT * FROM forum_users WHERE userID = '".$row["post_posterID"]."'";
  $result2 = mysql_db_query("$database","$sql2");
  $row2 = mysql_fetch_array($result2);
  echo $row2["userID"];
  ?>
  " class="link"><?=$row2["username"]?></a>
  </td>
  </tr>
  </table>
  <br>
  <?PHP
}
?>
```

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

---

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