Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

inserir registro em uma tabela copiando uma única linha de uma única coluna de outra tabela


Você não pode ter duas cláusulas WHERE em uma declaração:
insert into RECEIVE(Aname , Permission)
  select Aname , 'select' 
  from SEND
  WHERE Aname = 'GREAME'   <=== WHERE #1
  where not exists         <=== WHERE #2
    (select *  from RECEIVE where aname = 'GREAME' and Permission = 'select')

Você precisa alterar a segunda parte para um AND:
insert into RECEIVE(Aname , Permission)
  select Aname , 'select' 
  from SEND
  WHERE Aname = 'GREAME'  
  AND not exists
    (select *  from RECEIVE where aname = 'GREAME' and Permission = 'select')