gpt4 book ai didi

sql - 如何删除 SQL Server 中的多行

转载 作者:行者123 更新时间:2023-12-04 14:33:41 26 4
gpt4 key购买 nike

我有一个二手车数据库和四个有关系的表。相同的列名有关系。

表是:Record : RecID 标记名称模型...Features : FeatureID 功能名称Marks : MarkID 标记名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";

当我运行它时,我收到如下错误消息:
Subquery返回 超过 1 值(value)。

这在 subquery 时是不允许的关注 =, !=, <, <= , >, >=或者当 subquery用作表达式。

该语句已终止。

那么,如何从表中删除多个数据?

最佳答案

如果我理解正确,您可以使用此查询删除 cerrain MarkID 的所有 CarFeatures:

DELETE FROM CarFeature 
WHERE RecID IN (
select RecID
from Record
where Markname IN (
select Markname
from Marks
where MarkID = @MarkID
)
)

删除记录和标记是此查询的更简单版本,我将把确切的 SQL 留给您。

关于sql - 如何删除 SQL Server 中的多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1586225/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com