求一查询
字段1 字段2 字段3 字段4
1 0 1 null
1 1 2 大
1 2 3 null
1 3 4 小
2 0 1 不大
2 0 2 ll
2 0 3 klkl
2 1 1 不小
2 2 2 jkjk
2 3 1 中
要求得到
1 0 1 不大
1 1 2 大
1 2 3 不小
1 3 4 小
字段1=1时,字段4中有可能无数据
字段1=2时,字段4中总有数据
要查询得字段1=1的数据。
查询时:
字段1=1时的字段4数据优先,为空的话取字段1=2时的字段4中数据
问题点数:20、回复次数:5Top
1 楼guanshiyu123(就欺负你..宝)回复于 2004-12-02 23:58:50 得分 1
用case
select a.字段1,a.字段2,a.字段3,
case isnull(a.字段4,'') when '' then (select 字段4 from tttt b where b.字段1=2 and b.字段2=a.字段2 and b.字段3=a.字段3) else a.字段4 end
from tttt a order by 字段1,字段2,字段3
楼主的要求还没有明确,如果在字段1=2的里面没有符合条件的,将取谁请楼主在明确一下,Top
2 楼guanshiyu123(就欺负你..宝)回复于 2004-12-03 00:00:13 得分 0
字段1=1的数据
select a.字段1,a.字段2,a.字段3,
case isnull(a.字段4,'') when '' then (select 字段4 from tttt b where b.字段1=2 and b.字段2=a.字段2 and b.字段3=a.字段3) else a.字段4 end
from tttt a where 字段1=1 order by 字段1,字段2,字段3Top
3 楼guanshiyu123(就欺负你..宝)回复于 2004-12-03 00:01:24 得分 0
例如
1 2 3 不小
这条,这是根据什么原则取"不小"这个值的Top
4 楼spy7(spy7)回复于 2004-12-03 08:36:10 得分 0
我再说明白点
字段1=1表示一级菜单,字段1=2表示二级菜单。
字段2表示二级菜单分类,
字段3表示菜单顺序
如果一级菜单(也就是字段1=1)的某一项(比如字段2=0)无默认菜单(也就是字段4=null),那么就取相应二级菜单(字段2=0)中顺序号(字段3)最小的(也就是字段3=1)
字段1 字段2 字段3 字段4
1 0 1 null
1 1 2 大
1 2 3 null
1 3 4 小
2 0 1 不大
2 0 2 ll
2 0 3 klkl
2 1 1 不小
2 2 2 jkjk
2 3 1 中
要求得到
1 0 1 不大
1 1 2 大
1 2 3 不小
1 3 4 小
字段1=1时,字段4中有可能无数据
字段1=2时,字段4中总有数据
要查询得字段1=1的数据。
查询时:
字段1=1时的字段4数据优先,为空的话取字段1=2时的字段4中数据
Top
5 楼nbyqz(拉拉)回复于 2005-01-22 19:22:59 得分 19
字段1=1的数据
select a.字段1,a.字段2,a.字段3,
case isnull(a.字段4,'') when '' then (select 字段4 from tttt b where b.字段1=2 and b.字段2=a.字段2 and b.字段3=a.字段3) else a.字段4 end
from tttt a where 字段1=1 order by 字段1,字段2,字段3
Top




