Я использую базу данных 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
не являются проблемой. Все, что мне нужно, это разделитель без пробелов.