Używam bazy danych Sybase ASE.
Mam dwie tabele, które wyglądają jak:Zapytanie SQL o "concatenate on join"
tabeli Shops
:
---------------------
| ShopName | ShopID |
---------------------
| Sweetie | 1 |
| Candie | 2 |
| Sugarie | 3 |
---------------------
Tabela Sweets
:
----------------------
| SweetName | ShopID |
----------------------
| lolly | 1 |
| redlolly | 1 |
| greenloly | 1 |
| taffy | 2 |
| redtaffy | 2 |
| bluetaffy | 2 |
| choco | 3 |
| mintchoco | 3 |
| milkchoco | 3 |
| gummybees | 3 |
----------------------
Chcę napisać kwerendę, która będzie generować wynik, który wygląda tak:
-----------------------------------------------------
| ShopName | Sweets |
-----------------------------------------------------
| Sweetie | lolly, redlolly, greenlolly |
| Candie | taffy, redtaffy, bluetaffy |
| Sugarie | choco, mintchoco, milkchoco, gummybees |
-----------------------------------------------------
Jak mam to zrobić? Potrzebuję tego dla bazy danych Sybase ASE. Próbowałem funkcji LIST()
, ale dostaję błąd w tym. Sprawdziłem jego dokumentację i okazało się, że ta funkcja nie jest dostępna w edycji ASE.
To prawdopodobnie oznacza, że w grę wchodzi "dynamiczny sql" (nie mam pojęcia, co to oznacza). Czy ktoś może pomóc?
Mogę chcieć ShopId
zamiast ShopName
w tabeli wyników ... Nie wiem jeszcze na pewno. Myślę, że to nie będzie duża różnica. Także spóźnienie przecinków w kolumnie wyników Sweets
nie stanowi problemu. Wszystko czego chcę, to separator bez odstępów.
Hmm brzmi jak chcesz funkcję agregacji ciągów. Nie jestem pewien, które bazy danych, które to zrobić, ale widzę czasami zobaczyć funkcje zdefiniowane przez użytkownika dla tego (natuarlly, który waha się od jednego dmbs do innego). Jakiej bazy danych używasz? – FrustratedWithFormsDesigner
Używam syabse. – jrharshath
Jakie błędy miał "list()"? Nie mogę pomóc z problemami Sybase, ale ktoś inny może rozpoznać komunikat o błędzie. – FrustratedWithFormsDesigner