如何使用t-sql合并2个记录集?
假设我有一个类似下面的数据库(所有浮点字段)
限制 - 下限 - 上限 - 偏差
为了向后兼容,我需要返回一个这样的记录集:
Select Limit AS Val1,
Lower AS Val2,
Upper AS Val3
哪个工作正常,但在这个特殊情况下,我需要将记录集分为两部分:
Select Limit AS Val1,
Lower AS Val2,
Upper AS Val3
Select Deviation AS Val1
这需要在同一记录集中作为两个不同的行返回。我怎么能这样做?
答案 0 :(得分:2)
如果要从一个表中返回同一数据集中的两个单独行,则需要确保每一行具有相同数量的列。否则你应该返回两个不同的记录集(可能使用MARS)。要将同一行返回两次,请执行以下操作:
SELECT Limit AS Val1, Lower AS Val2, Upper AS Val3
FROM TableName
UNION ALL
SELECT SELECT Deviation AS Val1, Lower AS Val2, Upper AS Val3
FROM TableName
这将返回表中的每一行两次,一次是Limit,Lower,Upper,一次是偏差,Lower,Upper。
答案 1 :(得分:0)
您无法返回具有不同列定义的行的