Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Fügen Sie einen Datensatz in eine Tabelle ein, indem Sie eine einzelne Zeile einer einzelnen Spalte aus einer anderen Tabelle kopieren

Sie können nicht zwei WHERE-Klauseln haben in einer Anweisung:

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')

Sie müssen den zweiten Teil in ein UND ändern:

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')