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

SQL连接具有表的表值函数,其中表字段是函数输入

白灿
2023-03-14
问题内容

我有一个名为fn_SplitCommaSep的表值函数,该函数用逗号分隔文本字段(从’a,b,c’到3行:abc)

如何以表列作为输入将其连接到表?

为此,假设表MyTable具有2列Id和TextWithCommas,并且该表值函数fn_SplitCommaSep产生了一个称为TextWithoutComma的列

例如。像这些之一

select fs.TextWithoutComma
  from fn_SplitCommaSep(select mt.TextWithCommas from MyTable) fs

或者

select fs.TextWithoutComma, mt.Id
  from MyTable mt
    inner join fn_SplitCommaSep(mt.TextWithCommas) fs on (something)

问题答案:

除了将逗号分隔的值存储在数据库中之外,请查看一下APPLY

所以像这样:

SELECT fs.TextWithoutComma, mt.Id 
FROM   MyTable mt 
    CROSS APPLY fn_SplitCommaSep(mt.TextWithCommas) AS fs


 类似资料:
  • 问题内容: 当我搜索“ new1”时,如何获取所有用户名。例如:我应该以tblC中的userid 1,2为A和B来获取具有new1的row1的1,2,应该使用什么查询来获得上述结果?非常感谢您的帮助。 http://sqlfiddle.com/#!2/1ab8e/2 到目前为止查询: 问题答案: 您应该真正看一下 数据库的规范化 ,首先通过添加一个联结表并保持来自tablec的关系来规范化您的结构

  • 问题内容: 我隐约记得有一个函数可以做到这一点,但我想我可能会发疯。 假设我有一个数据表,将其称为table1。它具有三列:column1,column2,column3。查询 返回表1中的所有行/列。是否没有某种类型的EXPAND函数可以让我重复该结果?例如,如果我想将SELECT * FROM table1查询中的所有内容重复三次,则可以执行EXPAND(3)之类的操作? 问题答案: 在Big

  • 问题内容: 我有一个表“ lijsten”,一个表“ werknemerlijsten”和一个表“ categorieen”。 现在我正在使用查询来获取计数 但是,当我尝试使用另一个表的另一个计数进行相同的查询时,结果为假。 任何想法我可能做错了吗?谢谢 问题答案: 您的引入了具有给定ID多个匹配项的表。固定计数的快速简便方法是使用而不是: 另一种方法是在联接之前聚合表,并在子查询中进行计数。

  • 问题内容: 这个问题已经在这里有了答案 : 如何创建Python Lambda列表(在列表理解/ for循环中)? (8个答案) 使用lambdas的Python列表理解[重复] (4个答案) 列表理解内的Lambda (5个答案) 奇怪的行为:列表理解内的Lambda (7个答案) 2年前关闭。 为什么不是呢?听不懂 那么,由于某种原因,我们所有的lambda中都有?为什么? 问题答案: 这是因

  • 问题是@ManyToOne@Joincolumn ID_REPORT(它是一个主键)和@Joincolumn ID_TEMPLATE_DEFAULT 实体映射中的重复列:CurReport 列:id_report(应使用插入=“false”更新=“false”进行映射) 代码 第一桌CUR_TEMPLATE 第二个表CUR_REPORTS 第一个表CUR_REPORTS实体当前报表 第二个表CUR