Mam dwie tabele o nazwach Districts
i Schools
. Tabela Districts
zawiera kolumnę o nazwie Schools
.aktualizuje pole tabeli bazy danych z listą oddzielonych przecinkami od połączenia
muszę wypełniać kolumny tabeli Districts
Schools
z odpowiedniego Schools
stołu, tak że każdy wiersz tabeli Districts
jest oddzielony przecinkami listę wartości nazw średnich z tabeli Schools
.
Jak mogę to zrobić? Czy powinienem użyć zapytania UPDATE
lub procedury składowanej?
Mam tylko tak daleko, jak:
Districts Table
+------------+------+---------+
| DistrictId | Name | Schools |
+------------+------+---------+
| 1 | a | |
| 2 | b | |
| 3 | c | |
| 4 | d | |
+------------+------+---------+
Schools Table
+----------+------------+------------+
| SchoolId | SchoolName | DistrictId |
+----------+------------+------------+
| 1 | s1 | 1 |
| 2 | s2 | 1 |
| 3 | s3 | 2 |
| 4 | s4 | 2 |
| 5 | s5 | 4 |
+----------+------------+------------+
Jak Wyjście musi być
+------------+------+---------+
| DistrictId | Name | Schools |
+------------+------+---------+
| 1 | a | s1,s2 |
| 2 | b | s3,s4 |
| 3 | c | |
| 4 | d | s5 |
+------------+------+---------+
Wykorzystanie 'STUFF (..., 1, 2, '')' zamiast od separatora ' ''' ma 2 znaki - to zapobiegnie listę z konieczności wiodąca przestrzeń – ovinophile