我有一个二手汽车销售数据库和四张带有关系的表。相同的列名具有关联。
这些表是:
Record
: 记录ID, 品牌名称, 型号...
Features
: 特征ID, 特征名称
Marks
: 品牌ID, 品牌名称
Carfeature
: 车辆特征ID, 记录ID, 特征ID
现在,我想在C#中从Marks表中删除一个品牌。当我删除一个品牌时,SQL必须删除所有具有该品牌的记录。
我使用了以下查询语句:
DELETE from Carfeature
where RecID = (select RecID
from Record
where Mark = (select markname
from Marks
where MarkID=@MarkID))";
string sorgudelmarkfromrecord = "DELETE from Record where Mark=
(select Markname from Marks where MarkID=@MarkID)";
string sorgudelmark = "DELETE from Marks where MarkID=@MarkID";
当我运行这个程序时,会出现如下的错误信息:
子查询返回了多于一个值。
当
subquery
跟随=、!=、<、<=、>、>=
时,或者当subquery
被用作表达式时,是不允许这种情况发生的。语句已终止。
那么,我该如何从表中删除多条数据呢?