2013-04-09 4 views

ответ

5

Вы не можете использовать <>, чтобы проверить уникальность. Чтобы убедиться, что все имена уникальны, вам нужно убедиться, что вы выбрали уникальные имена от CommisionPickups и что имена, которые вы вставляете, еще не существуют в Clients. Используйте NOT EXISTS для CommisionPickups и DISTINCT для 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) 
) 
1

я не в состоянии получить ваш вопрос, но я понимаю, частично может быть вы просите этого

, если вы хотите вставить отдаленное значение PNAME чем сделать PNAME как уникальный он будет работать автоматически и выберите

select DISTINCT ClientName from Clients 

посмотрите этот и можно получить

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

+0

мне нужно скопировать все даты из поля CLIENTNAME из таблицы Клиентов, которые не уже в поле PNAME на столе CommisionPickups , Вы предложили выбрать только уникальные или отличительные значения из таблицы «Клиенты». – w3n2u

1

вот способ его достижения. Я работаю в SQL Server, но я надеюсь, что он будет работать на любой СУБД

INSERT INTO CommisionPickups (pName) 
    SELECT DISTINCT 
      ClientName 
    FROM Client 
    WHERE ClientName NOT IN (SELECT DISTINCT 
             pName 
           FROM CommisionPickups) 
Смежные вопросы