“查询连接时”的SQL查询
发布时间:2020-05-23 06:04:52 所属栏目:MsSql 来源:互联网
导读:我正在使用Sybase ASE数据库. 我有两个表看起来像: 餐馆: ---------------------| ShopName | ShopID |---------------------| Sweetie | 1 || Candie | 2 || Sugarie | 3 |--------------------- 餐桌糖果: -----
|
我正在使用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版本中没有此功能. 这可能意味着会涉及一些“动态sql”(我很少知道这意味着什么).有人可以帮忙吗? 我可以在结果表中找到ShopId而不是ShopName ……我还不确定.我想这不会有太大区别.此外,结果的Sweets列中的尾随逗号不是问题.我想要的只是一个非空白分隔符. 解决方法您必须指定您正在使用的DBMS.MySQL的GROUP CONCAT正是您所需要的. SELECT ShopName,GROUP_CONCAT(SweetName SEPARATOR ",") FROM Shops a JOIN Sweets b ON a.ShopID = b.ShopID GROUP BY ShopName (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
