求教一条SQL语句实现功能的问题

(第一遍问的有写不对)
SQL语句是否可以实现这样的功能: (设有表A、B,A中有数据f1和f2)
select f1 from A where f2='aa';
当f1=1时,执行SELECT 语句1
当f1=2时,执行select语句2
这样的话如何实现?

 select * from 表A where exists(select 1 from 表C WHERE 表C.字段=1)
union
select * from 表B where exists(select 1 from 表C WHERE 表C.字段=2)

可以的,用T-SQL,你可以查查。

如果回答对你有帮助,请采纳

以MSSQL为例


IF EXISTS(SELECT * FROM A WHERE F1=1)
BEGIN
    SELECT1
END
IF EXISTS(SELECT * FROM A WHERE F1=2)
BEGIN
    SELECT2
END

按你的意思,=1和=2未必是矛盾的,因此不用ELSE

你得学会写存储过程、函数、触发器等等这些东西。你的需求就是小case了。

大概:
declare @value nvarchar(10)
select xx into @value from A where rowid = 1
if(@value == 1)
select 语句1
if(@value ==2)
select语句2

SELECT 语句1 SELECT 语句2 具体是什么