sql server问题-我正在尝试从一个名为budget的表中获取一些记录。使用的过滤器是成本中心(costc)。我已经创建了这样的查询,如果有多个costc,那么它将是
select costc,description,budget from BUDGET where costc IN ('c1',c2',c3')
但我还需要一个功能,以便在没有列表的情况下,costc上的过滤器应该查找所有(*)成本中心。
sql server问题-我正在尝试从一个名为budget的表中获取一些记录。使用的过滤器是成本中心(costc)。我已经创建了这样的查询,如果有多个costc,那么它将是
select costc,description,budget from BUDGET where costc IN ('c1',c2',c3')
但我还需要一个功能,以便在没有列表的情况下,costc上的过滤器应该查找所有(*)成本中心。
2条答案
按热度按时间jyztefdp1#
一个选项使用
union all
以及not exists
:也可以使用窗口功能:
ev7lccsx2#
您可以从@gmb的答案重写union:
由此产生的执行计划可能与工会的执行计划相同。
或者,如果生成一个所有costc的列表比较便宜: