[MSSQL] Problem z GroupBy

Odpowiedz Nowy wątek
2010-08-07 08:55
User123
0

Witam. Mam następującą zagwostkę. Posiadam w tabeli 'Cars' pole 'Region', w którym wpisane jest województwo i miasto (po przecinku), a czasami zdarza się, że tylko miasto.
Chcę napisać zapytanie, które pogrupuje mi wyniki tylko dla samych miast.
Samo' GROUP BY Region' się tutaj nie sprawdza, ponieważ rekord z województwem i miastem nie jest połączony w klauzuli z rekordem, gdzie jest te same miasto tylko bez województwa.

Pozdrawiam

Pozostało 580 znaków

2010-08-07 09:43
rasert
0

Coś mi się zdaje że nie obejdzie się bez zmiany struktury bazy danych, czyli rozdzielenia pola województwo+miasto na dwa pola. Wtedy już nie będzie problemu.

Pozostało 580 znaków

2010-08-07 11:13
0

Możesz kombinować z czymś takim:

SELECT  LTRIM(SUBSTRING([Region], CHARINDEX(',', [Region]) + 1, LEN([Region]) + 1 - CHARINDEX(',', [Region]))),
        [Name]
  FROM [dbo].[Car]
  GROUP BY LTRIM(SUBSTRING([Region], CHARINDEX(',', [Region]) + 1, LEN([Region]) + 1 - CHARINDEX(',', [Region]))), [Name]
GO

Ale to tylko obchodzenie zwalonej i zdenormalizowanej struktury, które będzie niewydajne i niemądre.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0