我正在从两个不同的表中选择一个 int 值,如下所示
select col1 from tablea
union
select col1 from tableb
要求是如果在第一个查询中找到结果,则使用该结果;否则,请查看第二个表。
select top 1 * from (select col1 from tablea union select col1 from tableb) as a
问题是结果集的最高数值返回为top 1
- 不是找到的第一个结果。
我不关心它的顺序中的数值 - 我只想应用优先级,如果从 select 1 中找到一个值不打扰运行第二个查询。
没有top 1 *
我返回3
和6
。当我这样做时,如果我先做另一个选择, top 1 *
我会得到相同的结果。6
帮助!