我现在有数据表A 表中有很多字段 假设有 N M G H W T 这几个字段
N M G H W T
0 1 1 0 1 1
1 0 0 1 0 0
1 0 1 0 1 0 假设 N M 的值为1的时候 返回"主要问题" G H 为1的时候返回"次要问题" W T为1的时候返回"其他问题" 。
每一个字段都要判断一遍。返回的类型是string[3] 如"主要问题,次要问题,其他问题" 现在我想做个映射表去查询数据库有哪些问题,
用Direction去怎么定义。请教了!
如果直接通过存储过程或者sql语句查怎么做呢?
2 回答
温温酱
TA贡献1752条经验 获得超4个赞
我怎么觉得直接写if还快呢
if (N|M) return 主要问题;
else if (G|H) return 次要问题;
else if (W|T) return 其他问题;
else 报错
开满天机
TA贡献1786条经验 获得超12个赞
大概就是这个意思吧:
--create table a (n bit,m bit,g bit,h bit,w bit,t bit);--insert into a(n,m,g,h,w,t)values(0,1,1,0,1,1),(1,0,0,1,0,0),(1,0,1,0,1,0);select case when n=1 or m=1 then '主要问题' when g=1 or h=1 then '次要问题' when w=1 or t=1 then '次要问题' else 'error' endfrom a;
不太清楚N M 的值为1的时候 返回"主要问题" G H 为1的时候返回"次要问题" W T为1的时候返回"其他问题"这句话的具体意思,所以我就写成了这种or的关系。
这种情况不需要写存储过程,直接的sql就行。
- 2 回答
- 0 关注
- 775 浏览
添加回答
举报
0/150
提交
取消