---
title: "Group by vid sökfråga"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/47554-group-by-vid-sökfråga"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Erik Juhlin"
published: "2002-07-09T13:27:16.000Z"
updated: "2002-07-09T17:31:59.000Z"
replies: 5
views: 254
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/47554-group-by-vid-sökfråga"
---

# Group by vid sökfråga

## #1 — Erik Juhlin, 2002-07-09T13:27Z

Jag har problem med den här SQL-frågan. Den söker igenom en kategori och underliggande kategorier efter användare. Problemet är bara att samma användare kan finnas i flera kategorier (genom en referenstabell). Så när man söker får man upp samma användare flera gånger.

```
SELECT * FROM tblM_Address a
 INNER JOIN tblM_AddressReference r 
ON a.AddressId = r.AddressRefAddressId 
AND (r.AddressRefCategoryId = 3 OR r.AddressRefCategoryId IN (12,16,13,15,14,17,19))
 WHERE AddressSiteId = 4 
AND AddressXModuleId = 276
 AND (AddressFirstName LIKE '%erik%' 
OR AddressLastName LIKE '%erik%' 
OR AddressCompany LIKE '%erik%' 
OR AddressPhone LIKE '%erik%' 
OR AddressMobile LIKE '%erik%' 
OR AddressEmail LIKE '%erik%' 
OR AddressHomePage LIKE '%erik%' 
OR AddressStreet LIKE '%erik%' 
OR AddressZipCode LIKE '%erik%' 
OR AddressCity LIKE '%erik%' 
OR AddressCountry LIKE '%erik%' 
OR AddressComment LIKE '%erik%')
 ORDER BY AddressFirstName
```

Jag försökte slänga in en GROUP BY AddressId i mellanrummet.

Men då får jag en massa såna här meddelanden:

```
Server: Msg 8120, Level 16, State 1, Line 1
Column 'a.AddressXModuleId' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
```

Och snälla, gör inte om frågan alltför mycket eftersom att jag då måste gå in och ändra den VB-koden som genererar den här SQL:en. Och jag vill gärna slippa ändra allt.

Tack på förhand... :)

Redigerat för att öka läsbarheten /Lars

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

## #2 — Erik Juhlin, 2002-07-09T13:33Z

Skrev så här nu, vilket ju funka, men är en helt hemsk lösning.

```
SELECT AddressId, AddressXModuleId, AddressSiteId, AddressFirstName, AddressLastName, AddressCompany, AddressPhone, AddressMobile, 
AddressEmail, AddressHomePage, AddressStreet, AddressZipCode, AddressCity, AddressCountry, AddressCreationDate 
FROM tblM_Address a
 INNER JOIN tblM_AddressReference r 
ON a.AddressId = r.AddressRefAddressId 
AND (r.AddressRefCategoryId = 3 OR r.AddressRefCategoryId IN (12,16,13,15,14,17,19))
 WHERE AddressSiteId = 4 
AND AddressXModuleId = 276
 AND (AddressFirstName LIKE '%erik%' 
OR AddressLastName LIKE '%erik%' 
OR AddressCompany LIKE '%erik%' 
OR AddressPhone LIKE '%erik%' 
OR AddressMobile LIKE '%erik%' 
OR AddressEmail LIKE '%erik%' 
OR AddressHomePage LIKE '%erik%' 
OR AddressStreet LIKE '%erik%' 
OR AddressZipCode LIKE '%erik%' 
OR AddressCity LIKE '%erik%' 
OR AddressCountry LIKE '%erik%' 
OR AddressComment LIKE '%erik%')
 GROUP BY AddressId, AddressXModuleId, AddressSiteId, 
AddressFirstName, AddressLastName, AddressCompany,
 AddressPhone, AddressMobile, AddressEmail, 
AddressHomePage, AddressStreet, AddressZipCode, 
AddressCity, AddressCountry, AddressCreationDate
 ORDER BY AddressFirstName
```

Hoppas någon kan komma med en smidigare! :)

Redigerat för att öka läsbarhet/Lars

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

## #3 — LarsG, 2002-07-09T15:23Z

Varför vill du ha med group by? Som det är nu så är din fråga samma som om du hade använt select distinct.

PS: Skriv inte så långa rader.

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

## #4 — Erik Juhlin, 2002-07-09T15:43Z

Aha, SELECT DISTINCT AddressId, AddressXModuleId o.s.v. ?

Men jag vill liksom använda SELECT \*...

Och sen är det AddressId som ska vara unikt.

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

## #5 — LarsG, 2002-07-09T15:45Z

Nu när det går att läsa ditt inlägg så frågar jag mig varför du har så många olika adresskolumner. Jag skulle lägga det separat,

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

## #6 — LarsG, 2002-07-09T17:31Z

Varför är det problem om du får upp samma adressid flera gånger? Det är ju väldigt mycket enklare att gruppera ihop det på klientsidan än att göra det i SQL (i de flesta fall.)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/47554-group-by-vid-sökfråga
