首页 > 解决方案 > 多次选择同一列作为联合列,只有 1 个选择语句

问题描述

我有一个用户定义的函数,它在 SQL Server 中返回一个表,我需要在不使用游标的情况下在整个表上运行它。我尝试使用联合,但它需要多个选择语句。我也尝试过使用 unpivot,但列名重复,所以我不能将表合并为一个。如果不使用光标,请告诉我是否有与我的需求类似的东西。

SELECT *
FROM UNION (
    SELECT dbo.calculatedates(value1fromtable1, value2fromtable1, value3...)
    from table1
)

注意:计算日期

在此处输入图像描述

标签: sqlsql-serversql-server-2008

解决方案


你在找apply吗?

SELECT * 
FROM table1 t1 CROSS APPLY
     dbo.calculatedates(t1.value1fromtable1, t1.value2fromtable1, t1.value3...) cd;

推荐阅读