---
title: "Joinproblem :("
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/68398-joinproblem"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Brimba"
published: "2003-02-15T15:48:30.000Z"
updated: "2003-02-15T17:20:13.000Z"
replies: 6
views: 245
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/68398-joinproblem"
---

# Joinproblem :(

## #1 — Brimba, 2003-02-15T15:48Z

Jag försöker göra en enkel join, men den säger dumma saker till mig hela tiden :(

```
...
FROM 
Threads t1
LEFT JOIN (select max(id) from Threads where parentID = t1.id) t3 ON t1.id = t3.id
...
```

> **sql skrev:**
>
> The column prefix 't1' does not match with a table name or alias name used in the query.

Varför då? Jag har ju t1 där, det ser jag ju jättetydligt...

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

## #2 — LarsG, 2003-02-15T16:10Z

Nej, det är ju klart att den klagar. T1 ligger utanför den härledda tabellens synfält. 

Du får nog beskriva lite mer vad du vill och så-

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

## #3 — Brimba, 2003-02-15T16:16Z

Jag har en tabell "Threads". 

kolumner
\--------------------
id 
parentID

först hämtar jag alla id där parentID är null, sedan vill jag joina in det id som är störst där parentID är samma som id.

Det skulle vara enkelt med en subquery i selectsatsen men jag vill inte göra så.

exempelvis

id               parentID
1                null
2                1
3                1
4                null

nu vill jag med min select få ut följande:

id     id_x
1      3
4      null

där id_x då är max(id) där parentID är 1 (id)

Hoppas det beskriver mitt problem :)

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

## #4 — LarsG, 2003-02-15T17:05Z

Varför skulle du få med 

4 null 

och inte

1 null

?

och varför vill du inte använda subselect?

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

## #5 — LarsG, 2003-02-15T17:17Z

```
select max(id),parentid from 
(select id from threads where parentid is null) dt
left join threads on dt.id = parentid
 group by parentid
```

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

## #6 — Brimba, 2003-02-15T17:18Z

eftersom parentID har värdet 1 i sig, medan det inte finns någon post som har parentID 4. Då skall den bli null, annars skall den hämta det id som har max(id) där id = parentID.

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

## #7 — Brimba, 2003-02-15T17:20Z

Anledningen till att jag inte vill använda subselect är att jag vill kunna göra det på olika sätt.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/68398-joinproblem
