1

次のSQLがあります。ClientNamefromClientsを のpName列に挿入しようとしていますCommisionPickups。すべての値が一意であることを確認する必要があります。

insert into CommisionPickups (pName) 
   (select ClientName 
    from Clients  
    where ClientName <> CommisionPickups.pName)
4

3 に答える 3

5

<>一意性のチェックには使用できません。すべての名前が一意であることを確認するにはCommisionPickups、 から一意の名前を選択し、挿入する名前が に存在しないことを確認する必要がありますClientsNOT EXISTSforCommisionPickupsDISTINCTforClientsを次のように使用します。

insert into CommisionPickups (pName) 
(select DISTINCT c.ClientName from Clients c
where NOT EXISTS (SELECT 1 FROM CommisionPickups cp
                  WHERE c.ClientName = cp.pName)
)
于 2013-04-09T10:29:17.770 に答える
1

私はあなたの質問を得ることができませんが、あなたがこれを求めている可能性があることは部分的に理解しています

pnameを一意にするよりもpnameに遠い値を挿入したい場合は、自動的に機能し、選択します

select  DISTINCT ClientName from Clients

あなたが得ることができるこれを見てください

http://www.w3schools.com/sql/sql_select_into.asp

于 2013-04-09T10:34:25.597 に答える