SQL-запрос для «сцепления при соединении»

Я использую базу данных Sybase ASE .
У меня есть две таблицы, которые выглядят так:

Таблица Магазины :

---------------------
| ShopName | ShopID |
---------------------
| Sweetie  | 1      |
| Candie   | 2      |
| Sugarie  | 3      |
---------------------

Таблица Конфеты :

----------------------
| SweetName | ShopID |
----------------------
| lolly     | 1      |
| redlolly  | 1      |
| greenloly | 1      |
| taffy     | 2      |
| redtaffy  | 2      |
| bluetaffy | 2      |
| choco     | 3      |
| mintchoco | 3      |
| milkchoco | 3      |
| gummybees | 3      |
----------------------

Я хочу написать запрос, который выдаст результат, который выглядит примерно так:

-----------------------------------------------------
| ShopName | Sweets                                 |
-----------------------------------------------------
| Sweetie  | lolly, redlolly, greenlolly            |
| Candie   | taffy, redtaffy, bluetaffy             |
| Sugarie  | choco, mintchoco, milkchoco, gummybees |
-----------------------------------------------------

Как мне это сделать? Мне это нужно для базы данных Sybase ASE. Я пробовал функцию LIST () , но получаю сообщение об ошибке. Я проверил его документацию и выяснил, что эта функция недоступна в ASE Edition.

Это, вероятно, означает, что будет задействован какой-то «динамический sql» (я очень плохо понимаю, что это значит). Может ли кто-нибудь помочь?

Я мог бы захотеть ShopId вместо ShopName в таблице результатов ... Я еще не знаю наверняка. Думаю, особой разницы не будет. Кроме того, закрывающие запятые в столбце результатов Sweets не являются проблемой. Все, что мне нужно, это разделитель без пробелов.

6
задан Andrew Arnold 21 May 2015 в 20:06
поделиться