添加基于记录的条件是否存在

时间:2015-08-25 12:02:35

标签: sql sql-server

我需要根据表中是否存在记录来添加where条件 例如

if record exists in table A then 
select * from table B where B='12' 

otherwise 
select * from table B.

我正在使用上述查询创建一个视图。

请帮忙。

感谢。

3 个答案:

答案 0 :(得分:3)

您可以将其写为:

select *
from B
where B = '12' or
      exists (<record in A>)

我不确定如何表达存在条件。对于任何记录,它将是:

select *
from B
where B = '12' or
      exists (select 1 from A)

答案 1 :(得分:0)

你可以试试这个;

select * from b where (b = 12 and exists (select 1 from a where a = record)) or b = b

它给你;如果在表a中记录得到b = 12的值,则得到没有条件的b值。

答案 2 :(得分:0)

试试这个:

if exists(select * from A)
begin
select * from B where B = '12'
end
else
begin 
select * from B 
end