---
title: "Hur sorterar man efter resultatet från en annan tabell?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/88531-hur-sorterar-man-efter-resultatet-från-en-annan-tabell"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Patrik81"
published: "2003-10-15T10:00:44.000Z"
updated: "2003-10-15T17:35:48.000Z"
replies: 4
views: 209
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/88531-hur-sorterar-man-efter-resultatet-från-en-annan-tabell"
---

# Hur sorterar man efter resultatet från en annan tabell?

## #1 — Patrik81, 2003-10-15T10:00Z

Lite luddig rubrik, men jag hade ju tidigare en fråga om vilket sätt att lagra länkar och hur många ggr dessa klickats på som var det mest optimala.

Nu har jag fått fram två tabeller, dels 

**tblLänkar** med fälten
**fldLänkID**
**fldLänkBeskrivning**
**fldÅtkomstpoäng**

och 

**tblLänkKlicks** med fälten
**fldUID**
**fldLänkID**
**fldNumKlicks**

Och tanken med detta är att vissa användare som har högre poäng skall kunna se fler länkar än de andra, därav fldÅtkomstpoäng, och att hämta hem alla länkar som anv. har tillåtelse att se är ju inga problem, det är ju bara 
"SELECT fldLänkID, fldLänkBeskrivning FROM tblLänkar WHERE fldÅtkomst \<= " . $accessPoints;
Typ...

Men nu vill jag ju dessutom sortera dessa resultat efter hur många ggr en anv. klickat på de diverse länkarna, och med den mest klickade hamnandes högst upp i resultatet.

Hade jag haft allt detta i samma tabell hade det ju inte varit några större problem att sortera eftersom jag då bara kunnat slänga på "ORDER BY fldNumKlicks DESC" så hade ju den saken varit biff.

Men nu ligger ju fldNumKlicks i den andra tabellen, och jag har aldrig riktigt greppat hur man joinar saker, jag antar att detta jag vill göra går att genomföra, antagligen med en enklare join (alltså in någon direkt komplex struktur) men det ligger tyvärr bortanför min kunskapshorisont.

Inte ens efter att ha läst w3schools sida om joins kände jag mig ett dugg klokare, och det var där jag lärde mig det mest grundläggande om sql, så jag känner mig rätt hopplös på det nu :/

Så om någon har lust att ge mig en (gärna väldokumenterad) syntax som utför denna sortering, så skulle jag bli jätteglad.

Tack på förhand.
MVH Patrik

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

## #2 — LarsG, 2003-10-15T13:40Z

```
select fldLänkBeskrivning,
fldÅtkomstpoäng 
 from tblLänkar tl , 
tblLänkKlicks tk
where tl.fldLänkID = tk.fldLänkID
and fldUID = 4711
order by fldNumKlicks desc
```

Det är alltså denna 

where tl.fldLänkID = tk.fldLänkID

som anger join-villkoret

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

## #3 — Patrik81, 2003-10-15T17:24Z

Det blev inte riktigt som jag ville ha det, jag ville att åtkomstpoängen skulle vara en av grejorna som sållade bort poster via en where klausul.
Och så ville jag hämta ut fldlänkID med.
Men glad i hågen så tänkte jag att det kan ju inte vara jätteklurigt att skriva om den sqlfrågan så att den samarbetar med det. Men nu bråkar den :(

Och när den började bråka så tänkte jag att den kanske inte gillade åäö, så jag bytte ut hela schabraket mot engelska ord istället (skrev om tabellerna) men samma fel ändå.

SQL-frågan jag skapade:

```
SELECT fldFuncName, fldFuncDesc
FROM tblNavbar tn, tblNavbarClicks tc
WHERE tn.fldFuncName = tc.fldFuncName
AND fldUID = 'Patrik'
AND fldAccesReq <= 8
ORDER BY fldNumClicks DESC
```

Dock ger denna frågan ett elakt fel, 
**ERROR 1052: Column: 'fldFuncName' in field is ambiguous**

Vad innebär detta? Kan jag inte hämta hem fldFuncName eftersom jag använder den i joinen?
För sqlfrågan jag fick av LarsG funkar, men hämtar inte ut exakt rätt resultat.

Iofs. skulle det väl gå att ordna genom att byta ut fldFuncName i bägge tabellerna mot fldFuncId, och sedan i tblNavbar lägga till fldFuncName, men det känns på något sätt fel att göra det, eftersom fldFuncName skall vara unikt i tblNavbar, precis som fldFuncId skulle bli i samma tabell.

Går det att modifiera den joinfrågan ovan, så att den fungerar?

Återigen tack på förhand :)
MVH Patrik

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

## #4 — LarsG, 2003-10-15T17:28Z

Du får kvalificera kolumnnamnet

```
SELECT tn.fldFuncName, fldFuncDesc
FROM tblNavbar tn, tblNavbarClicks tc
WHERE tn.fldFuncName = tc.fldFuncName
AND fldUID = 'Patrik'
AND fldAccesReq <= 8
ORDER BY fldNumClicks DESC
```

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

## #5 — Patrik81, 2003-10-15T17:35Z

Woohoo, du är en väldigt solid klippa LarsG.
Bockar och bugar ödmjukt och tackar så himla mycket för hjälpen.
Stort tack.

MVH Patrik

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/88531-hur-sorterar-man-efter-resultatet-från-en-annan-tabell
