如何在一列中选择除一个值以外的所有数据
本文关键字:数据 一个 选择 一列 | 更新日期: 2023-09-27 18:24:08
我写了这个c#代码,从学生信息中选择除了一个card_id之外的card_id,但我从网上读到except子句在访问中不起作用。。。我该怎么做?请帮帮我?
ol_com.CommandText = "select [card_id] from student_info except select [card_id] from student_info where [card_id] = '"+update_st_card.Text+"'";
reader = ol_com.ExecuteReader();
if (reader.HasRows)
{
up_st_lbl2.Text = "message";
}
我认为您不必要地进行复杂查询。
使用NOT IN
可以很容易地解决
ol_com.CommandText = "select [card_id] from student_info
where [card_id] not in ('"+update_st_card.Text+"')";
您在插入时没有问题,所以为了更新,请尝试这个简单的方法。update_st_card.Text只有一个card_Id。
ol_com.CommandText = "select [card_id] from student_info
where [card_id] ='"+update_st_card.Text+"'";
reader = ol_com.ExecuteReader();
string str=string.Empty();
if (reader.HasRows)
{
//Update here
str="Update student_info set mobile_no='Your new value to set'
where [card_id] ='"+update_st_card.Text+"'";
}
else
{
//insert here
str="Your Insert command";
}
ol_com.CommandText = str;
ol_com.ExecuteNonQuery();
我认为这将解决您的问题,我们可以不在任何地方使用acess、sql server、nhibernate
ol_com.CommandText = "select [card_id] from student_info where [card_id] not in ( select [card_id] from student_info where [card_id] = '"+update_st_card.Text+"'");
reader = ol_com.ExecuteReader();
if (reader.HasRows)
{
up_st_lbl2.Text = "message";
}
我认为你可以在中使用NOT
您的查询可以写成,
select [card_id]
from student_info
where [card_id] NOT IN
(select [card_id] from student_info where [card_id] = '"+update_st_card.Text+"'")