Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to delete multiple rows in SQL Server

I have a secondhand sale car database and four tables with relationships. Same column names have relationships.

Tables are:
Record: RecID Markname Model...
Features: FeatureID Featurename
Marks: MarkID Markname
Carfeature: CarfeatureID RecID FeatureID

Now, i want to delete a mark from Marks in c#. When i delete a mark, SQL must delete all records who has this mark.

I used a query like that:

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";

When i run this, i get an error message like this:

Subquery returned more than 1 value.

This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.

The statement has been terminated.

So, how can i delete multiple data from a table?

like image 668
Mehmet Kaleli Avatar asked May 12 '26 14:05

Mehmet Kaleli


1 Answers

If I understand you right, you can use this query to remove all CarFeatures for a cerain MarkID:

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

The removal of records and marks is a simpler version of this query, I'll leave the exact SQL up to you.

like image 183
Andomar Avatar answered May 14 '26 02:05

Andomar



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!