3 つのテーブルがあるとします (以下に示すように)。
series_noテーブル:
| id | desc_seriesno |
|:------|----------------:|
| 7040 | AU1011 |
| 7041 | AU1022 |
| 7042 | AU1033 |
| 7043 | AU1044 |
| 7044 | AU1055 |
| 7045 | AU1066 |
ブランド表:
| id | desc_brand |
|:------|----------------:|
| 1020 | Audi |
| 1021 | Bentley |
| 1022 | Ford |
| 1023 | BMW |
| 1024 | Mazda |
| 1025 | Toyota |
car_infoテーブル:
| seriesno_id | brand_id | color |
|:---------------|------------|--------:|
| 7040 | 1020 | white |
| 7040 | 1020 | black |
| 7040 | 1020 | pink |
| 7041 | 1021 | yellow |
| 7041 | 1021 | brown |
| 7042 | 1022 | purple |
| 7042 | 1022 | black |
| 7042 | 1022 | green |
| 7043 | 1023 | blue |
| 7044 | 1024 | red |
| 7045 | 1025 | maroon |
| 7045 | 1025 | white |
連結された文字列でそれらを変更せずに、類似/同一の文字列をグループ化または結合するにはどうすればよいですか?代わりに、同じ文字列を上書きするだけです。
これは、SQLサーバー2014での私の現在のクエリです:-
SELECT SN.id AS seriesid, B.id AS brandid, B.desc_brand
FROM [db1].[dbo].[series_no] SN
LEFT JOIN [db1].[dbo].[car_info] CI
ON CI.seriesno_id = SN.id
RIGHT JOIN [db1].[dbo].[brand] B
ON B.id = CI.brand_id
GROUP BY SN.id, B.id, B.desc_brand
ORDER BY SN.id ASC
残念ながら、この方法では同様の文字列でグループ化できないため、エラーが発生しました。
私はそれがこのようになりたい:-
| seriesid | brandid | desc_brand |
|:-----------|------------|--------------:|
| 7040 | 1020 | Audi |
| 7041 | 1021 | Bentley |
| 7042 | 1022 | Ford |
| 7043 | 1023 | BMW |
| 7044 | 1024 | Mazda |
| 7045 | 1025 | Toyota |
これ(連結文字列)の代わりに:-
| seriesid | brandid | desc_brand |
|:-----------|------------|----------------------:|
| 7040 | 1020 | Audi, Audi, Audi |
| 7041 | 1021 | Bentley, Bentley |
| 7042 | 1022 | Ford, Ford, Ford |
| 7043 | 1023 | BMW |
| 7044 | 1024 | Mazda |
| 7045 | 1025 | Toyota, Toyota |