Meh*_*eli 3 sql t-sql sql-server
我有一个二手销售汽车数据库和四个关系表.相同的列名称具有关系.
表格是::
Record
RecID Markname Model ...
Features
:FeatureID Featurename
Marks
:MarkID Markname
Carfeature
:CarfeatureID RecID FeatureID
现在,我想删除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";
Run Code Online (Sandbox Code Playgroud)
当我运行这个时,我收到如下错误消息:
Subquery
返回超过1的值.
当subquery
以下=, !=, <, <= , >, >=
或当subquery
用作表达式时,不允许这样做.
该语句已终止.
那么,我如何从表中删除多个数据?
And*_*mar 11
如果我理解正确,您可以使用此查询删除cerain MarkID的所有CarFeatures:
DELETE FROM CarFeature
WHERE RecID IN (
select RecID
from Record
where Markname IN (
select Markname
from Marks
where MarkID = @MarkID
)
)
Run Code Online (Sandbox Code Playgroud)
删除记录和标记是此查询的简单版本,我将保留确切的SQL.