当前位置: 首页 > 面试题库 >

如何使用SQL查询创建逗号分隔的列表?

芮朗
2023-03-14
问题内容

我有3个表,分别为:

  • 应用程序(ID,名称)
  • 资源(ID,名称)
  • ApplicationsResources(id,app_id,resource_id)

我想在GUI上显示所有资源名称的表。我想在每一行的一个单元格中列出该资源的所有应用程序(以逗号分隔)。

所以问题是,在SQL中执行此操作的最佳方法是什么,因为我需要获取所有资源,并且还需要获取每种资源的所有应用程序?

我是否先从资源中运行select *,然后循环遍历每个资源,并对每个资源执行单独的查询以获取该资源的应用程序列表?

有没有一种方法可以在一个查询中做到这一点?


问题答案:

无法以与数据库无关的方式来执行此操作。因此,您需要像这样获得整个数据集:

select 
  r.name as ResName, 
  a.name as AppName
from 
  Resouces as r, 
  Applications as a, 
  ApplicationsResources as ar
where
  ar.app_id = a.id 
  and ar.resource_id = r.id

然后在按 ResName 分组时以 编程* 方式连接 AppName*__



 类似资料:
  • 问题内容: 我已经在Google的帮助下编写了此查询,以便从表格中创建定界列表,但是我对此查询一无所知。 谁能解释我发生了什么事 给我结果 问题答案: 解释它的最简单方法是查看实际XML的工作方式。想象一个简单的表: 你可以用 这将创建XML,如下所示 从中删除’Employee’会删除外部xml标记,因此此查询: 将创建 然后,您所执行的操作并不理想,列名“ data()”会导致sql错误,因为

  • 问题内容: 这是我的表结构: 我需要拆分该列,并希望通过一个简单的sql查询来做到这一点,因为我不知道如何使用函数,并且希望将其保持简单。 这是我已经发现的: 但这仅输出 有没有一种方法来拆分一切从到,,等? 提前致谢。 问题答案:

  • 问题内容: 我有看起来像这样的数据: 对于每个customer_id,我需要用逗号分隔的列表,以指示该客户运营的月份: 等等。如何使用SQL Server 2005 SQL(而不是T-SQL)轻松生成此逗号分隔的列表? 我在Stack Overflow和其他地方在这里看到的大多数解决方案似乎都是基于联接多个行值而不是列值来创建逗号分隔的列表: T-SQL FOR XML路径(’‘) 关联的子查询与

  • 问题内容: 我有一个将从逗号分隔的字符串返回整数值的函数,它需要两个参数(@string nvarchar(4000),@ delimiter char(1))。所以问题是如果我在动态查询中使用此函数,我会报错,这是查询 我收到错误消息程序或函数dbo.fnDelimitedStringToTable指定了太多参数。 问题答案: 当您构建像这样的动态SQL时,您需要将参数用双引号引起来 这样,SQ

  • 问题内容: 我知道如何使用foreach遍历数组的项并附加逗号,但是必须取下最后的逗号总是很痛苦的。有没有简便的PHP方式? 最终我想要 问题答案: 您想为此使用爆破。 即: 有一种附加逗号而不尾随逗号的方法。如果您必须同时进行其他操作,则需要这样做。例如,也许您想引用每个水果,然后将它们全部用逗号分隔: 另外,如果您只是按照“正常”的方式在每个项目后面添加逗号(就像您以前做过的事情一样),并且您

  • 问题内容: 我需要在数据库中填充纬度和经度列,但是原始信息存储为单个字符串 例如。 我猜想TRIM命令在这里很有用,但是我不知道如何告诉它每半个部分都精确地停在逗号上。 我希望能够提出一个简单的UPDATE查询,如下所示: 但是显然在LTRIM和RTRIM部分中需要做一些额外的工作,因此我只选择数据,但不包括UDFChar1中的逗号。 关于如何实现这一目标的任何想法? 问题答案: 请试试: 和 样