表中的字段为
id title classid1 classid2 price address name content time
现在根据title classid1 classid2去查询 怎样查啊 还有先判断这三个是否为空
那中方法比较简单效率高 怎样去判断
比如title为空,就只按照classid1,classid2查询 classid1为空,就按照title和classid2查询……
急救 先谢谢了
id title classid1 classid2 price address name content time
现在根据title classid1 classid2去查询 怎样查啊 还有先判断这三个是否为空
那中方法比较简单效率高 怎样去判断
比如title为空,就只按照classid1,classid2查询 classid1为空,就按照title和classid2查询……
急救 先谢谢了
And (classid2=@classid2 or @classid2 is null)
And (title =@title or @title is null)???
from TableName
where (classid1=@classid1 or @classid1 is null)
And (classid2=@classid2 or @classid2 is null)
And (title =@title or @title is null)
classid1=ISNULL(@classid1,classid1) AND
classid2=ISNULL(@classid2,classid2) AND
classid3=ISNULL(@classid3,classid3) ???????
是这个意思?
//判断的条件,也可以在程序里写好,比如
string sql = "select * from TableName where 1=1 ";
if (title <> '')
{
sql += " and title = '" + title + "'";
}
//...
//最后,执行sql就可以了.如果都为空,就返回全部记录.
string sql = "select * from TableName where 1=1 ";
if (title != '')
{
sql += " and title = '" + title + "'";
}
//...
//最后,执行sql就可以了.如果都为空,就返回全部记录.
如果是0 就查询全部
如果不是0 而是其他具体的值 就按照值进行查询
WHERE
classid1=CASE WHEN @classid1=0 THEN classid1 ELSE @classid1 END
AND
.......