---
title: "SQL - Group by problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/118079-sql-group-by-problem"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "holm"
published: "2004-12-15T09:37:44.000Z"
updated: "2004-12-15T10:50:31.000Z"
replies: 4
views: 326
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/118079-sql-group-by-problem"
---

# SQL - Group by problem

## #1 — holm, 2004-12-15T09:37Z

Hej,

Försöker köra en SQL string i VFP8.

tabell - sales
id                      namn
\-----------------------------
"2222"                "Klas"
"4444"                "Sven"

tabell - prov
namn                antal
\-----------------------------
"Klas"                  "4"
"Sven"                 "8"

tabell - aff
namn                antal
\------------------------------
"Klas"                 "10"
"Sven"                "12"

tabell - korder 
namn                antal
\------------------------------
"Klas"                   "3"
"Sven"                  "2"

I en SQL string vill jag koppla rätt antal från de olika tabellerna till rätt säljare från sales tabellen. Typ så här:

Namn      ,           antal_prov  ,  antal_aff   ,   antal_korder
\------------------------------------------------------------------------
"Klas"                           "4"                  "10"                   "3"
"Sven"                        "8"                   "12"                   "2"

SELECT DISTINCT a.namn, b.antal, c.antal, d.antal ;
FROM sales a,  prov b, aff c, korder d ;
INNER JOIN prov ;
ON a.namn = prov.namn ;
INNER JOIN aff ;
ON a.namn = aff.namn ;
INNER JOIN korder ;
ON a.namn = korder.namn ;
group BY a.namn ;
INTO CURSOR my_cursor         

Är inte helt 100 på mina sql uttryck som ni ser.
Felmeddelandet som jag får är:

SQL: GROUP BY Clause is missing or invalid.

Skulle behöva lite tipps eller förslag, jag kanske tänker lite fel.

Tanken sen är att räkna nyckel tal mellan prov/aff och aff/korder.

Mvh M

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

## #2 — yohpops, 2004-12-15T09:57Z

Du måpste gruppera på alla fält som du tar ut.

```
group by a.namn, b.antal, c.antal, d.antal
```

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

## #3 — holm, 2004-12-15T10:09Z

Tack, de löste felmeddelandet....

Nu blev reslutatet 

Namn , Prov , Aff , Korder
\----------------------------------
Klas        1       4        4
Klas        2       4        4
Klas        3       4        4
Klas        4       1        4 

osv. Jag vill ju bara ha ett namn per rad. ??

Tacksam för lite hjälp.

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

## #4 — yohpops, 2004-12-15T10:17Z

Lägg till count() runt b.antal

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

## #5 — LarsG, 2004-12-15T10:50Z

```
SELECT a.namn, b.antal, c.antal, d.antal ;
FROM sales a ;
INNER JOIN prov b ;
ON a.namn = b.namn ;
INNER JOIN aff c;
ON a.namn = c.namn ;
INNER JOIN korder d;
ON a.namn = d.namn ;
INTO CURSOR my_cursor
```

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/118079-sql-group-by-problem
