自动插入行
本文关键字:插入 | 更新日期: 2023-09-27 18:09:16
我有3个表:
表1 CustomerID Name Sname Zipcode
1 test1 test1 xxx2
2 test2 test2 yyy2
3 test3 test3 xxx2
表2
StaffID Name sname
1 Jack Mack
2 Jhon Addison
ID CustomerID StaffID
1 1 1
我不确定SQL是否可以做到这一点,所以在c#中我想要的是,如果StaffID 2不在表3中,如果员工想要访问邮政编码xx2中的所有客户,那么通过单击访问按钮,他应该插入所有邮政编码。因此,如果我选择Zipcode xxx2那么查询应该首先检查我是否访问了相同的Zipcode对于特定的,如果不是,然后将该人添加到表3中所以更新后的表3将看起来像这样:
ID CustomerID StaffID
1 1 1
2 1 2
3 3 2
如您所见,StaffID 2希望访问xxx2 zipcode,因此他在表3中获得了2个条目,因为有两个CustomerID的zipcode与xxx2相同。
我做了一些在线研究,我想这个IF EXISTS (SELECT
,但它只添加了一个条目。此外,我想我将期待3个参数从c# zipcode, CustomerID和StaffID
从你的描述看来,你只需要一个简单的插入语句。
INSERT INTO Table3 (CustomerID, StaffID)
select CustomerID, @StaffId from Table1
where Zipcode = @zipcode
and NOT EXISTS(select StaffID from Table3 where StaffID = @staffId)
尝试这个sql查询,假设您正在传递@StaffId、@CustomerId和@Zip作为参数
INSERT INTO Table3 (CustomerID, StaffID)
SELECT CustomerID, @StaffId FROM Table1
WHERE Zipcode = @zip
AND NOT EXISTS(SELECT StaffID FROM Table3 WHERE StaffID = @staffId
AND CustomerID = @CustomerId)