求一个查询方法,望赐教

sardineany 2011-05-13 03:03:57
我有2个字段 A和B 他们的可取的值分别是A(1,2)B(1,2)
我想判断的是
如果A字段取1的时候,字段B也是1 A字段为2的时候 B字段也为2

说白了就是在WHERE里加一个判断,然后根据A的值,从B中选取对应的查询条件
...全文
176 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
sardineany 2011-05-13
  • 打赏
  • 举报
回复
就16L这样的。。早点贴出来多好呀
anjingdexiaoyu 2011-05-13
  • 打赏
  • 举报
回复
B=(case A when a then 1 when b then 2 end)
随风的约定 2011-05-13
  • 打赏
  • 举报
回复
`````where A=B
yibey 2011-05-13
  • 打赏
  • 举报
回复
那就好,下次最好吧测试数据贴出来。这样大家好明白你的意思
sardineany 2011-05-13
  • 打赏
  • 举报
回复
用的case when 解决了
yibey 2011-05-13
  • 打赏
  • 举报
回复
就是你说的 if a = xx
B = B1
sardineany 2011-05-13
  • 打赏
  • 举报
回复
B1 B2 B3 是什么?
yibey 2011-05-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sardineany 的回复:]

不是并列关系,是条件和结果的关系,类似于
IF(A=a)
{
B=2
}
[/Quote]

case when name ='北京' then B1
when name = '上海' then B2
when name ='xxx' then B3
ELSE b4 end



yibey 2011-05-13
  • 打赏
  • 举报
回复
如果是非制定的规则的话, 你先 吧A B 对应的数据列成一个表tb比如

A, B
a, 1
a, 2
b, 5
c, 6

然后在取符合这些规则的ta表里的 数据的话
select ta.* from ta left join tb on ta.a=tb.a and ta.b= tb.b where tb.a is not null
sardineany 2011-05-13
  • 打赏
  • 举报
回复
不是并列关系,是条件和结果的关系,类似于
IF(A=a)
{
B=2
}
yibey 2011-05-13
  • 打赏
  • 举报
回复
如果是指定的规则的话, where A = a and B =2 不就可以了么
sardineany 2011-05-13
  • 打赏
  • 举报
回复
这样吧,A可以取a,b
B是1,2
当A=a的时候 B=2 这样
yibey 2011-05-13
  • 打赏
  • 举报
回复
那你这个对应总有个规则的吧,没规则我怎么查询
sardineany 2011-05-13
  • 打赏
  • 举报
回复
我那个1和2是打比方。。他们不相等的。。意思就是当A取一个值得时候,B取对应的值,这么做个判断
yibey 2011-05-13
  • 打赏
  • 举报
回复
where A = B?
xuexiaodong2009 2011-05-13
  • 打赏
  • 举报
回复
case when
rucypli 2011-05-13
  • 打赏
  • 举报
回复
where A=B

34,837

社区成员

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

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