大家帮下忙了请教一个SQL查询的问题比如我现在查询SELECT * FROM XS WHERE 专业名='计算机'查询完成之后我可不可以在上次查询的基础之上在进行相关查询呢?比如我在查完计算机专业的所有学生之后,想查出计算机专业所有的男同学不使用SELECT * FROM XS WHERE 专业名='计算机' AND 性别='男'直接在上次查询的基础上再查寻,该怎么弄呢?谢谢各位老大了!我现在做的程序有五六个查询选项,事前并不知道那一项选择那一项不选择,要排列组合写查询语句的话太多了,我想分开查询,就是在上次查询的基础之上进行逐步查询!大家帮帮忙了!!!!!!!!!
比如你有两个条件:一个专业,一个性别,
写语句的时候:
CString sql = "SELECT * FROM XS WHERE 1=1 ";
if(选了专业条件)
{
sql = sql + "AND 专业 = '计算机'";
}if(选了性别)
{
sql = sql + "AND 性别 = '男'"
}con.execute(sql);
保存:CSTring szTest = “SELECT * FROM XS WHERE 专业名='计算机' ”;第二次查询的时候将保存的数据自己填上。就行了。
CSTring szTest2 = “AND 性别='男'” ;那么SELECT * FROM XS WHERE 专业名='计算机' AND 性别='男' 就等于
szTest + szTest2 性别='男' 这样就行了。看你怎么设计了。想法而已~~别拍我砖~