首页 新闻 搜索 专区 学院

怎么给已有的SQL语句用程序添加查询条件

1
悬赏园豆:15 [已解决问题] 解决于 2013-05-03 20:46

比如如下的SQL语句:
select sum(f1),f2 from (
select a.a1 as f1, a.a2 as f2, a.a3 as f3 from a
left join select b.b1 as f1,b.b2 as f2, b.b3 as f3 from b
union all
select c.c1 as f1,c.c2 as f2, c.c3 as f3 from c where c.c1 < 100
) group by f2

要程序实现给查询语句添加条件 a.a1 > 10、b.b2 = 5 、c.c1 < 100达到下面的效果:

select sum(f1),f2 from (
select a.a1 as f1, a.a2 as f2, a.a3 as f3 from a
left join select b.b1 as f1,b.b2 as f2, b.b3 as f3 from b
where a.a1 > 10 and b.b2 = 5
union all
select c.c1 as f1,c.c2 as f2, c.c3 as f3 from c where c.c1 < 100
) group by f2

怎么实现这样的效果请指点一下。

泱泱的主页 泱泱 | 初学一级 | 园豆:2
提问于:2013-05-02 20:03
< >
分享
最佳答案
0

用存储过程,设置条件。
首先存储过程里声明变量。
declare @a1 int
declare @b2 int

declare @c1 int

//现在读取a.a1赋值给@a1
 select @a1=a1 from a 
select @b2=b2 from b

 select @c1=c1  from c
 //然后就是条件判断
 if (@a1 > 10 and @b2 = 5 and @c1<100) 

 begin

 //执行你所需的sql语句

 end

 else

  begin

//执行你所需的sql

  end

 具体存储过程书写规范请自行查阅相关资料,这里只是提供思路。

收获园豆:9
Mating_luo | 菜鸟二级 |园豆:237 | 2013-05-03 01:58
其他回答(3)
0

你用的什么程序,可以用存储过程啊,或者直接在程序中作为变量也可以啊,得具体点

收获园豆:2
SOUTHER | 园豆:825 (小虾三级) | 2013-05-02 20:35
0

这种问题要自己思考。。。

收获园豆:2
路过秋天 | 园豆:4773 (老鸟四级) | 2013-05-02 21:12
0

你用的什么框架访问的数据库,如果是自己写SQL,可以直接拼接,如果是其它框架应该有对应的方法

收获园豆:2
@@@一统@@@ | 园豆:1551 (小虾三级) | 2013-05-02 22:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册