---
title: "column kommentar in field listis ambiguous"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/137837-column-kommentar-in-field-listis-ambiguous"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "WebbisNet"
published: "2005-11-17T14:57:16.000Z"
updated: "2005-11-17T19:55:23.000Z"
replies: 18
views: 401
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/137837-column-kommentar-in-field-listis-ambiguous"
---

# column kommentar in field listis ambiguous

## #1 — WebbisNet, 2005-11-17T14:57Z

vad betyder detta
Microsoft OLE DB Provider for ODBC Drivers error '80040e31' 

\[MySQL\]\[ODBC 3.51 Driver\]\[mysqld-4.0.25-max\]Column: 'kommentar' in field list is ambiguous 

/Gallery/viewComment.asp, line 14 

rad 1 är första raden

```
Set kommentarRS=objConn.Execute("SELECT DISTINCT username, vemKollar, anvandare, bild, rubrik, inlagd, kommentar, nytt, Postad, bildID, picture "&_
"FROM tblUsers INNER JOIN tblUsers_Galleri_kommentar INNER JOIN tblUsers_Galleri ON tblUsers_Galleri_kommentar.bildID = tblUsers_Galleri.bildID AND tblUsers_Galleri_kommentar.agare = tblUsers_Galleri.agare ON tblUsers.userID = tblUsers_Galleri_kommentar.vemKollar "&_
"GROUP BY username, vemKollar, anvandare, bild, rubrik, inlagd, tblUsers_Galleri_kommentar.Kommentar, nytt, Postad, bildID, picture, anvandare, rubrik, bild, agare, rubrik "&_
"HAVING tblUsers_Galleri_kommentar.bildID="& ID &" AND tblUsers_Galleri_kommentar.agare="& uid &" ORDER BY Postad DESC")
```

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

## #2 — LarsG, 2005-11-17T15:04Z

Att kolumnen kommentar finns definierad i mer än en av de tabeller som förekommer i fromklausulen. Du får kvalificera kolumnnamnet med lämpligt tabellnamn.

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

## #3 — WebbisNet, 2005-11-17T15:10Z

med tblusers_galleri_kommentar.Kommentar får jag detta

Microsoft OLE DB Provider for ODBC Drivers error '80040e31' 

\[MySQL\]\[ODBC 3.51 Driver\]\[mysqld-4.0.25-max\]Unknown table 'tblusers_galleri_kommentar' in field list 

/Gallery/viewComment.asp, line 14

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

## #4 — WebbisNet, 2005-11-17T15:11Z

gick ju utmärkt med access med den koden.....med denna lilla ändring förstås...

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

## #5 — WebbisNet, 2005-11-17T15:16Z

och sen har jag ytterligare en fråga när det gäller galleriet. Med denna kod kan jag se raden när jag kör sql-en i MySQL

```
Set bildRS=objConn.Execute("SELECT userID, username, agare, bildID, inlagd "&_
"FROM tblUsers INNER JOIN tblUsers_Galleri ON tblUsers.userID = tblUsers_Galleri.agare order by inlagd desc limit 4")
```

men när jag ska visa den på sidan så syns ingenting

```
<span class="rubrik_s">Senaste 4 inlagda i galleriet:</span><hr>
<%if bildRS.eof then
response.write "<span class=""presentation1"">Inga bilder finns inlagda</span><br>"
do until bildRS.EOF%>
<table border="0" width="231">
<tr>
<td align="left" width="95">
<a class="menu" href="/Gallery/?userID=<%=bildRS("userID")%>&usr=<%=bildRS("username")%>"><b><%=bildRS("username")%></b></a>
</td>
<td align="left" width="126" class="presentation">
<%=right(replace(bildRS("inlagd"),"-",""),15)%>
</td>
</tr>
</table>
<%bildRS.MoveNext: Loop
end if%>
```

även här funkade det utmärkt i access

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

## #6 — LarsG, 2005-11-17T15:54Z

Jag har tittat lite närmare på din fråga. Det är väldigt sällan man behöver både distinct och group by och i ditt fall tror jag att bådadera är onödiga. Det behövs heller ingen having då den typen av villkor skall anges i where. Sen så är dina joinuttryck konstiga,det är lättare att se om man skriver

```
from a join b on ... 
  join c on ...
```

Jag skulle skriva din fråga som 

```
SELECT 
  username, 
  vemKollar, 
  anvandare, 
  bild, 
  rubrik, 
  inlagd, 
  kommentar, 
  nytt, 
  Postad, 
  bildID, 
  picture 
 FROM tblUsers u 
   INNER JOIN tblUsers_Galleri_kommentar gk ON 
       u.userID = gk.vemKollar
   inner join tblUsers_galleri g on 
       gk.bildID = g.bildID 
    and gk.agare = g
where gk.bildID=  & ID  
AND gk.agare= & uid & 
ORDER BY Postad DESC
```

och sedan så skulle jag kvalificera alla kolumner i select-listan. (Jag ger mig inte på det då jag inte vet något om dina tabelldefinitioner.)

```
<%if bildRS.eof then
response.write "<span class=""presentation1"">Inga bilder finns inlagda</span><br>"
do until bildRS.EOF%>
```

Jag förstår inte hur det kan ha fungerat med Access. 

```
<%if bildRS.eof then
    response.write "<span class=""presentation1"">Inga bilder finns inlagda</span><br>" 
else 
    do until bildRS.EOF%>
```

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

## #7 — WebbisNet, 2005-11-17T16:12Z

tillbaka på samma fel som tidigare

Microsoft OLE DB Provider for ODBC Drivers error '80040e31' 

\[MySQL\]\[ODBC 3.51 Driver\]\[mysqld-4.0.25-max\]Unknown table 'tblUsers_galleri_kommentarer' in field list 

/Gallery/viewComment.asp, line 14 

 

```
Set kommentarRS=objConn.Execute("SELECT username, vemKollar, anvandare, bild, rubrik, inlagd, tblUsers_galleri_kommentarer.kommentar, nytt, Postad, bildID, picture FROM tblUsers u INNER JOIN tblUsers_Galleri_kommentar gk ON u.userID = gk.vemKollar inner join tblUsers_galleri g on gk.bildID = g.bildID and gk.agare = g where gk.bildID="& ID &" AND gk.agare="& uid &" ORDER BY Postad DESC")
```

/red kommentarer var kommentar men samma fel

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

## #8 — aasah, 2005-11-17T16:56Z

I din select-sats plockar du ut 'kommentar'. Precis som LarsG tidigare skrev måste det kolumnnamnet förekomma i minst två av de tabeller du joinar. Du måste alltså tala om vilken du vill ha ut.

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

## #9 — WebbisNet, 2005-11-17T17:23Z

Nu är det tblUsers som den klagar på och det är enbart username som ska plockas ur den tabellen

Microsoft OLE DB Provider for ODBC Drivers error '80040e31' 

\[MySQL\]\[ODBC 3.51 Driver\]\[mysqld-4.0.25-max\]Unknown table 'tblUsers' in field list 

/Gallery/viewComment.asp, line 15 

```
Set kommentarRS=objConn.Execute("SELECT tblUsers.username, tblUsers_Galleri_kommentar.vemKollar, "&_
"tblUsers_Galleri_kommentar.anvandare, tblUsers_Galleri_kommentar.bild, "&_
"tblUsers_Galleri_kommentar.rubrik, tblUsers_Galleri_kommentar.inlagd, "&_
"tblUsers_Galleri_kommentar.Kommentar, tblUsers_Galleri_kommentar.nytt, "&_
"tblUsers_Galleri_kommentar.Postad, tblUsers_Galleri_kommentar.bildID, tblUsers.picture "&_
"FROM tblUsers u "&_
"INNER JOIN tblUsers_Galleri_kommentar gk ON u.userID = gk.vemKollar "&_
"INNER JOIN tblUsers_galleri g on gk.bildID = g.bildID and gk.agare = g "&_
"WHERE gk.bildID="& ID &" AND gk.agare="& uid &" ORDER BY Postad DESC")
```

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

## #10 — @nders, 2005-11-17T18:36Z

Du har ju gett tblUsers aliaset u. Då får du använda det också.

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

## #11 — WebbisNet, 2005-11-17T18:52Z

nu har jag crosscheckat båda galleritabellerna och det verkarstämma men jag får ändå

Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 

\[MySQL\]\[ODBC 3.51 Driver\]\[mysqld-4.0.25-max\]Unknown column 'g' in 'on clause' 

/Gallery/viewComment.asp, line 15 

```
SELECT u.username, gk.vemKollar, gk.anvandare, g.bild, "&_
"g.rubrik, g.inlagd, gk.Kommentar, gk.nytt, gk.Postad, gk.bildID, u.picture "&_
"FROM tblUsers u "&_
"INNER JOIN tblUsers_Galleri_kommentar gk ON u.userID = gk.vemKollar "&_
"INNER JOIN tblUsers_galleri g on gk.bildID = g.bildID and gk.agare = g "&_
"WHERE gk.bildID="& ID &" AND gk.agare="& uid &" ORDER BY gk.Postad DESC
```

tabell gk
bildID  int(11)   Ja  0                
   vemKollar  int(11)   Ja  0                
   anvandare  char(50)   Ja  NULL                
   agare  int(11)   Ja  0                
   Kommentar  char(255)   Ja  NULL                
   Postad  datetime   Ja  NULL                
   nytt  tinyint(1)   Ja  NULL                          
 

tabell g
bildID  int(11)   Nej    auto_increment              
   agare  int(11)   Ja  0                
   bild  varchar(50)   Ja  NULL                
   inlagd  datetime   Ja  NULL                
   rubrik  varchar(50)   Ja  NULL                
   kommentar  longtext   Ja  NULL                
   clicks  varchar(50)   Ja  0                
          
 
ps: säg till om jag är jobbig :-)

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

## #12 — @nders, 2005-11-17T18:54Z

Läs igen.

```
"INNER JOIN tblUsers_galleri g on gk.bildID = g.bildID 
and gk.agare = g[b]<HÄR SAKNAS NÅGOT>[/b] "&_
```

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

## #13 — WebbisNet, 2005-11-17T19:00Z

> **@nders skrev:**
>
> Läs igen.
>
> ```
> "INNER JOIN tblUsers_galleri g on gk.bildID = g.bildID 
> and gk.agare = g[b]<HÄR SAKNAS NÅGOT>[/b] "&_
> ```

men det var ju så jag såg att du skrev

inner join tblUsers_galleri g on 
       gk.bildID = g.bildID 
    **and gk.agare = g**
where gk.bildID=  & ID

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

## #14 — @nders, 2005-11-17T19:07Z

Va?

Det enda jag säger är att när du hänvisar till ett fält så måste du ange tabellens alias istället för tabellnamnet, om du har gett tabellen ett alias. g är ett tabellalias, inte ett fältnamn som du försöker säga att det är.

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

## #15 — WebbisNet, 2005-11-17T19:11Z

> **@nders skrev:**
>
> Va?
> 
> Det enda jag säger är att när du hänvisar till ett fält så måste du ange tabellens alias istället för tabellnamnet, om du har gett tabellen ett alias. g är ett tabellalias, inte ett fältnamn som du försöker säga att det är.

Förlåt mig @nders, det var LarsG som skrev \*skäms\*

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

## #16 — @nders, 2005-11-17T19:12Z

Ok, det saknas i alla fall något där, som LarsG missade, så du får fylla i det.

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

## #17 — WebbisNet, 2005-11-17T19:20Z

det funkar nu

```
Set kommentarRS=objConn.Execute("SELECT u.username, gk.vemKollar, gk.anvandare, g.bild, "&_
"g.rubrik, g.inlagd, gk.Kommentar, gk.nytt, gk.Postad, gk.bildID, u.picture "&_
"FROM tblUsers u "&_
"INNER JOIN tblUsers_Galleri_kommentar gk ON u.userID = gk.vemKollar "&_
"INNER JOIN tblUsers_galleri g on gk.bildID = g.bildID and gk.agare = g.agare "&_
"WHERE gk.bildID="& ID &" AND gk.agare="& uid &" ORDER BY gk.Postad DESC")
```

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

## #18 — LarsG, 2005-11-17T19:22Z

Det var nog nedanstående jag tänkte skriva
 

```
and gk.agare = g.agare
```

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

## #19 — WebbisNet, 2005-11-17T19:55Z

> **LarsG skrev:**
>
> Det var nog nedanstående jag tänkte skriva
>  
>
>
> ```
> and gk.agare = g.agare
> ```

Tack för all hjälp trots att jag kanske var lite jobbig :-)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/137837-column-kommentar-in-field-listis-ambiguous
