我有以下 SQL。我正在尝试将ClientName
fromClients
插入pName
. CommisionPickups
我需要确保所有值都是唯一的。
insert into CommisionPickups (pName)
(select ClientName
from Clients
where ClientName <> CommisionPickups.pName)
我有以下 SQL。我正在尝试将ClientName
fromClients
插入pName
. CommisionPickups
我需要确保所有值都是唯一的。
insert into CommisionPickups (pName)
(select ClientName
from Clients
where ClientName <> CommisionPickups.pName)
您不能用于<>
检查唯一性。为确保所有名称都是唯一的,您需要确保从 中选择唯一名称CommisionPickups
,并且您插入的名称不存在于 中Clients
。使用NOT EXISTS
forCommisionPickups
和DISTINCT
for Clients
,如下所示:
insert into CommisionPickups (pName)
(select DISTINCT c.ClientName from Clients c
where NOT EXISTS (SELECT 1 FROM CommisionPickups cp
WHERE c.ClientName = cp.pName)
)
我无法得到你的问题,但我部分理解可能是你要求这个
如果您想在 pname 中插入较远的值而不是使 pname 唯一,它将自动工作并选择
select DISTINCT ClientName from Clients
看看这个你能得到
这是实现它的一种方法。我在 SQL Server 中工作,但我希望它适用于任何数据库引擎
INSERT INTO CommisionPickups ( pName )
SELECT DISTINCT
ClientName
FROM Client
WHERE ClientName NOT IN ( SELECT DISTINCT
pName
FROM CommisionPickups )