---
title: "SQL strul i mySQL"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/65681-sql-strul-i-mysql"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "mozilla"
published: "2003-01-21T17:15:56.000Z"
updated: "2003-01-22T19:06:07.000Z"
replies: 7
views: 230
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/65681-sql-strul-i-mysql"
---

# SQL strul i mySQL

## #1 — mozilla, 2003-01-21T17:15Z

```
"SELECT n.object_ID,n.user_ID,u.nickname,
n.news_topic,n.news_msg,n.news_date,
(SELECT Count(object_ID) FROM tblComment WHERE object_ID = n.object_ID AND type_ID = 1) 
FROM tblNews n,tblUser u 
WHERE n.user_ID = u.user_ID 
ORDER BY n.news_date DESC LIMIT 0,5"
```

Hur får jag denna SQL satsen att fungera i mySQL? Jag har vänt
 och vridit på den ett bra tag nu utan att komma till någon bra 
lösning? Problemet ligger i att jag vill Hämta ut antalet 
kommentarer till varje nyhet, men mySQL klagar vid ",(SELECT..."

Editerad för att öka läsbarhet/LarsG

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

## #2 — LarsG, 2003-01-21T17:45Z

```
SELECT n.object_ID,n.user_ID,u.nickname,
n.news_topic,n.news_msg,n.news_date,
Count(c.object_ID) 
FROM tblNews n join tblUser u 
  on  n.user_ID = u.user_ID 
left join tblComment C
  on n.object_id = c.object_id
group by n.object_ID,n.user_ID,u.nickname,
n.news_topic,n.news_msg,n.news_date
ORDER BY n.news_date DESC 
LIMIT 0,5
```

Du får nog vänta någon/några versioner till innan det finns skalär subselect i mysql.

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

## #3 — mozilla, 2003-01-21T18:34Z

> **Microsoft OLE DB Provider for ODBC Drivers (0x80040E09) skrev:**
>
> \[TCX\]\[MyODBC\]You have an error in your SQL syntax near 'ON n.user_ID = u.user_ID LEFT JOIN tblComment c ON n.object_id = c.object_id GRO' at line 1

Fick dock error när jag testade din kod?

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

## #4 — LarsG, 2003-01-21T18:41Z

Det finns inget syntaxfel i min kod ;) 

Hur ser det ut i din kod? Är det PHP eller ASP? Kan du lägga till en utskift av statementet innand du skickar den till mysql? Kanske det saknas någon blank vid radbrytning?

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

## #5 — mozilla, 2003-01-21T19:45Z

```
SELECT n.object_ID,n.user_ID,u.nickname,
n.news_topic,n.news_msg,n.news_date,
Count(c.object_ID) 
FROM tblNews n [b]left[/b] join tblUser u 
  on  n.user_ID = u.user_ID 
left join tblComment C
  on n.object_id = c.object_id
group by n.object_ID,n.user_ID,u.nickname,
n.news_topic,n.news_msg,n.news_date
ORDER BY n.news_date DESC 
LIMIT 0,5
```

Om jag lägger till **left** i koden fungerar det tillfredsställande. Dvs. jag får ut den information som jag vill ha. Det kan inte vara så att de ska vara ett "left" där? :stud

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

## #6 — LarsG, 2003-01-21T20:07Z

Nej, kanske kan vara så att mysql kräver att det står inner join. Jag tittar i Mysql dokumentationen. Enligt standard sql sä är ordet inner inte nödvändigt.

Byt left mot inner för left join och inner join är inte samma sak.

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

## #7 — mozilla, 2003-01-22T18:38Z

Jo, det fungerar bra med INNER, men vad är det för skillnad mellan INNER och LEFT?

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

## #8 — LarsG, 2003-01-22T19:06Z

<http://www.webforum.nu/showthread.php?s=&postid=124600#post124600>

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/65681-sql-strul-i-mysql
