上次发帖是我没说清楚!数据库里有 uid (身份证号) xmname (项目名称) 两个字段
库内容如下:uid xmname1 xxx
1 YYY
1 ZZZ
2 AAA
2 BBB
3 CCC
4 DDD我想查询 相同 uid 的 xmname 同时有xxx 和yyy 的人有哪些,,怎么查啊,, 记录出来必须唯一!!!程序是asp.net 前台界面是 四个文本框 文本框之间是 单选按钮 与 或(可以自己选择) 四个文本框可以都添,也可以只添一个 txt1.text txt2.text txt3.text txt4.text 数据库如上, 当进行 xmname 查询的时候 选择 与 或者 或 ,, 怎样查询, (注,相同的ID出来一条记录即可)谢谢大家,如果我哪里没说清楚,我可以补充!
库内容如下:uid xmname1 xxx
1 YYY
1 ZZZ
2 AAA
2 BBB
3 CCC
4 DDD我想查询 相同 uid 的 xmname 同时有xxx 和yyy 的人有哪些,,怎么查啊,, 记录出来必须唯一!!!程序是asp.net 前台界面是 四个文本框 文本框之间是 单选按钮 与 或(可以自己选择) 四个文本框可以都添,也可以只添一个 txt1.text txt2.text txt3.text txt4.text 数据库如上, 当进行 xmname 查询的时候 选择 与 或者 或 ,, 怎样查询, (注,相同的ID出来一条记录即可)谢谢大家,如果我哪里没说清楚,我可以补充!
1 YYY
1 ZZZ
2 AAA
2 BBB
3 CCC
4 DDD
这个出来的结果 你要什么。。
{
int i = 0;
// string sql = "select DISTINCT * from xmsy13 where "; // string sql = "select distinct uid from xmsy13 k where exists(select * from xmsy13 where k.uid=uid and xmname='XXX')and exists(select * from xmsy13 where k.uid=uid and xmname='YYY')";
// string sql = "select username,uid from xmsy13 t where xname='xxx' or xname='yyy' having count(*)>2"; string sql = "select distinct id,username, uid from xmsy13 k where ";
if (xm1.Text != "无")
{
sql = sql + "exists(select * from xmsy13 where k.uid=uid and xmname='"+xm1.Text+"')";
i = 1;
} if (xm2.Text != "无")
{
if (and1.Checked)
{
sql = sql + " and ";
}
else
{
sql = sql + " or ";
}
sql = sql + "exists(select * from xmsy13 where k.uid=uid and xmname='" + xm2.Text + "')";
i = 2;
}
if (xm3.Text != "无")
{
if (and2.Checked)
{
sql = sql + " and ";
}
else
{
sql = sql + " or ";
}
sql = sql + "exists(select * from xmsy13 where k.uid=uid and xmname='" + xm3.Text + "')";
i = 3;
}
if (xm4.Text != "无")
{
if (and3.Checked)
{
sql = sql + " and ";
}
else
{
sql = sql + " or ";
}
sql = sql + "exists(select * from xmsy13 where k.uid=uid and xmname='" + xm4.Text + "')";
i = 4;
} if (xm5.Text != "无")
{
if (and4.Checked)
{
sql = sql + " and ";
}
else
{
sql = sql + " or ";
}
sql = sql + "exists(select * from xmsy13 where k.uid=uid and xmname='" + xm5.Text + "')";
i = 5;
} if (xm6.Text != "无")
{
if (and5.Checked)
{
sql = sql + " and ";
}
else
{
sql = sql + " or ";
}
sql = sql + "exists(select * from xmsy13 where k.uid=uid and xmname='" + xm6.Text + "')";
i = 6;
} // sql = sql + " and (userinfo1.uid=xmsy13.uid)";
if (i > 0)
{
SqlDataSource1.SelectCommand = sql;
GridView1.DataBind();
mysql.Text = sql;
// string
// string sqldy=
bl.Text = "查询数据占总数据的:";
mydagl.BLL.userinfo1 ubll = new mydagl.BLL.userinfo1();
DataSet ds = ubll.GetAllList();
int zs = ds.Tables["ds"].Rows.Count;
Double mybl = Math.Round(Convert.ToDouble(gridviewnum.Text) / Convert.ToDouble(zs), 2);
bl.Text = bl.Text + Convert.ToString(mybl * 100) + "%";
show.Visible = true;
}
else
{ SqlDataSource1.SelectCommand = ""; }
// show.Text = "符合本次查询记录个数为:" + Convert.ToString(GridView1.Rows.Count)+" ";
}