Question: I have 2 tables with no primary-foreign key relationship. I want to delete a record(row to be more specific) in Table1 when count of a row in Table2 reaches a certain value.

```
Table1
ID      Name
1       name1
2       name2

Table2
ID     Name     Country
1      name1     US
2      name2     China
3      name2     Germany
4      name1     KSA

```

If name1 count in Table2 reaches 40 then delete name1 from Table1

Hope i have explained it all.
Thanks in advance

Answer: 
If I understood well you need `DELETE` with `JOIN`; In the sub-query you get the count / name and then join to `table1` and `DELETE` where count reaches the limit you want. 

```
DELETE T1
FROM tbl1 T1
INNER JOIN (
    SELECT
        name
        ,COUNT(name) as cnt
    FROM tbl2
    GROUP BY name
)T2
    ON T1.name = T2.name
WHERE cnt >= 40

```

**Edit**: I added some sample data [**here**](http://rextester.com/HAP65192) for you test the code.
Use stored procedure. 

```
Create Procecedure DeleteRecords
(
@recCount int,
@nameField varchar(20)
)
Begin
 If((select count(id) from Table2 where [name]=@nameField) >= @recCount)
begin
 Delete from Table1 where [name]=@nameField
end
End

```