请教一个关于判断数量的问题
class表id classname bigid
1 大类一 0
2 小类一 1
3 大类二 0
4 大类三 0
5 小类二 1
6 小类三 3
.
.
.
//这是一个类别的表,其中通过bigid来实现大小类的区分及关联,bigid对应前面的id,如果bigid是0,表示它是大类,如果bigid不是0,则表示它是该id的小类,通过下面代码调出相关的类别
public string classall()
{
//连接数据库
SqlCommand cmd = new SqlCommand("SELECT * FROM class where bigid=0", objConnection);
//省略
while (dr.Read())
{
strBody += "" + dr["classname"] + "";
}
//关闭
}
//要实现的是,调出的大类如果有小类,则在大类后面出现 “有小类”,三个字,请问这个该怎么实现呢?在上面的代码中该怎么修改呢?谢谢
--------------------编程问答-------------------- 那再数据库中再加一列,就是上级ID的,在SQL语句中用CASE判断啊!
--------------------编程问答-------------------- Up --------------------编程问答-------------------- 我已经加了bigid作为上级ID啊
CASE具体该怎么做呢? --------------------编程问答--------------------
--------------------编程问答-------------------- select * into #a from table1 where bigid=0
SELECT id , classname , bigid ,
(case when (select count(*) from class where id = id ) = 0
then ''
else
N'有小类'
end ) as tag
FROM class
where bigid=0
select classname=case when a.id=b.上级ID then a.classname+'有小类'end
from #a a,table1 b
drop table #a
结果是能出来的,但还有很多NULL列,还有点问题,你再试试吧。可能我的方法也不好! --------------------编程问答-------------------- 多学习学习了,呵呵,四楼的好 --------------------编程问答-------------------- 不过好像有点问题,我一个大类没有小类的也显示有小类的嘛 --------------------编程问答-------------------- .net中有
if then 用法?
补充:.NET技术 , C#