这个sql该怎么写?

bengdeng 2007-09-12 11:22:36
select * from a,b where a.a1=b.a1 and a.a2=aa

aa根据情况不同所取值不同,假如某种情况下我要查出对a2列没有控制的所有值,又要保持这个sql语句的这种写法,,那么a.a2=aa这个该怎么写呢?
...全文
105 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lost_queen 2007-09-12
  • 打赏
  • 举报
回复
楼主说不能用判断,我猜测是不是因为是前台的拼接语句
一定要一句SQL搞定的?
如果是这样的话,可以在前台做判断。

我乱理解的~厄
bengdeng 2007-09-12
  • 打赏
  • 举报
回复
土土土猪:就是a2列取所有的值,相当于: select * from a,b where a.a1=b.a1 呵呵。可能我的表达有问题
dobear_0922 2007-09-12
  • 打赏
  • 举报
回复
select * from a,b where a.a1=b.a1 and a.a2=a.a2
bengdeng 2007-09-12
  • 打赏
  • 举报
回复
dawugui(潇洒老乌龟) 不能这么做的,呵呵,不过还是谢谢你。
子陌红尘:如果sql语句这样写,那对a2没控制的时候,@aa该取什么值呢?
lost_queen 2007-09-12
  • 打赏
  • 举报
回复
某种情况下我要查出对a2列没有控制的所有值
--------------------------------------------
厄,我是弱人,这句没有看懂~~
dawugui 2007-09-12
  • 打赏
  • 举报
回复
select * from a,b where a.a1=b.a1 and a.a2=aa

aa根据情况不同所取值不同,假如某种情况下我要查出对a2列没有控制的所有值,又要保持这个sql语句的这种写法,,那么a.a2=aa这个该怎么写呢?


用判断语句成不?
declare @a2 as varchar(10)
set @a2 = 'value' --有这句,不为空,没有,则为空
if @a2 is null
select * from a,b where a.a1=b.a1
else
select * from a,b where a.a1=b.a1 and a.a2 = @a2
子陌红尘 2007-09-12
  • 打赏
  • 举报
回复
select * from a,b where a.a1=b.a1 and a.a2=isnull(@aa,a.a2)
bengdeng 2007-09-12
  • 打赏
  • 举报
回复
我重新想了一下,用dawugui(潇洒老乌龟)的还是可以做的,呵呵/结贴了。

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧