[MSSQL] Problem z GroupBy

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

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.

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.

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