---
title: "Problem att räkna i annan tabell"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/43722-problem-att-räkna-i-annan-tabell"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "NETwork"
published: "2002-05-14T20:09:25.000Z"
updated: "2002-05-14T21:37:42.000Z"
replies: 8
views: 208
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/43722-problem-att-räkna-i-annan-tabell"
---

# Problem att räkna i annan tabell

## #1 — NETwork, 2002-05-14T20:09Z

Hej! Jag har ställt ungefär samma fråga tidigare men nu får jag det inte att fungera igen. Jag har två tabeller för recensioner... ett exempel. Jag har en film. Varje film kan vara recenserad 1 eller flera gånger. Nu försöker jag räkna antal recensioner för varje film så här:

SELECT COUNT(ReviewID) AS Antal, Name FROM Topic T LEFT OUTER JOIN Review R ON T.GameID = R.GameID GROUP BY Name

Men det vill inte funka. Någon som ser vad som är fel?

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

## #2 — LarsG, 2002-05-14T20:15Z

Det finns inget syntaktiskt fel i den satsen. Vad är probelemt?

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

## #3 — NETwork, 2002-05-14T20:38Z

Japp, den funkade visst... problemet är att jag försöker plocka ut GameID också eftersom jag använder detta i min fuktion. Men när jag försöker hämta ytterligare kolumner så ballar det ur:

SELECT COUNT(ReviewID) AS Antal, Name, **GamID** FROM Topic T LEFT OUTER JOIN Review R ON T.GameID = R.GameID GROUP BY Name 

Jag får felmeddelandet "The specified field 'GameID' could refer to more than one table listed in the FROM clause of your SQL statement."

Hur gör jag för att hämta samtliga kolumner i tabellen Topic?

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

## #4 — LarsG, 2002-05-14T21:09Z

I så fall måste du ha med den kolumnen i group by

```
SELECT COUNT(ReviewID) AS Antal, Name, GameID FROM Topic T LEFT OUTER JOIN Review R ON T.GameID = R.GameID GROUP BY Name ,gameid
```

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

## #5 — NETwork, 2002-05-14T21:23Z

Provade det och det funkar med alla kolumner utom GameID... då får jag felet "The specified field 'GameID' could refer to more than one table listed in the FROM clause of your SQL statement. "

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

## #6 — NETwork, 2002-05-14T21:24Z

Ah, jag måste såkalrt skriva till vilken tabell den tillhör eftersom den finns med i båda. :) Tack för all hjälp! :)

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

## #7 — LarsG, 2002-05-14T21:25Z

Ja visst ja, du måste kvalificera kolumnnamnet eftersom det finns med i båda tabellerna

```
SELECT COUNT(ReviewID) AS Antal, Name, T.GameID FROM Topic T 
LEFT OUTER JOIN Review R ON T.GameID = R.GameID GROUP BY Name ,T.gameid
```

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

## #8 — NETwork, 2002-05-14T21:35Z

Precis, toppen! :) För att krångla till det ännu mer så skulle jag även behöva hämta ett medelvärde från tabellen Review för respektive GameID... i tabellen finns en kolumn som heter "Overall" och denna innehåller en siffra för varje recension. Om ett spel eller en film innehåller 3 recensioner så ska jag således plocka medelvärdet från dessa tre recensioner. 

Så här lyckades jag få det att fungera:

SELECT AVG(Overall) AS O, Name FROM Topic LEFT OUTER JOIN Review ON Topic.GameID = Review.GameID GROUP BY Name

Men hur slår jag ihop dessa båda sql-satser?!?!?

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

## #9 — NETwork, 2002-05-14T21:37Z

Aha det var ju bara att lägga till AVG(Overall) AS O. :)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/43722-problem-att-räkna-i-annan-tabell
