“查询连接时”的SQL查询
发布时间:2020-12-12 08:54:33 所属栏目:MsSql教程 来源:网络整理
导读:我正在使用Sybase ASE数据库. 我有两个表看起来像: 餐馆: ---------------------| ShopName | ShopID |---------------------| Sweetie | 1 || Candie | 2 || Sugarie | 3 |--------------------- 餐桌糖果: ----------------------| SweetName | ShopID |
我正在使用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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server-2008 – 发生传输级错误…(服务器关闭的现有连接
- sql-server – SQLCMD – 尝试删除带有字母数字名称’14Dat
- sql-server – T-SQL中的多列数据透视
- sqlserver中如何提取datetime格式数据中的日期或时间?
- sql-server – 管理工作室关闭时SQL Server性能不佳
- 为什么下划线通常用在sql表名中而不是camel case
- sqlserver2005打造自动备份的维护计划图解教程
- 一个开发人员的项目烦恼—— 来自项目管理群的讨论
- sql-server – 什么是配置sqlserver 2005数据库以获得性能的
- 清除sqlserver2008日志文件。