2014-09-18 137 views
0

在Teradata中编写简单的更新语句,并且无法使其工作。我收到语法错误说:Syntax error: expected something between the word 'First_name' and the 'FROM' keyword。这是对第7行的参考。我不知道我错过了什么。SQL更新语法检查

这里有一些删节对象名称代码:

UPDATE DATA.CONTACTS tgt SET tgt.LAST_NAME = TABLES.PART.LAST_NAME ,tgt.BPP_USER_ID = TABLES.PART.User_Id ,tgt.Email_Address = TABLES.PART.Email ,tgt.Last_name = TABLES.PART.Last_name ,tgt.First_name = TABLES.PART.First_name FROM (SELECT C_C , USER_ID , Email ,Last_name ,First_name FROM TABLES.PART) --ppage WHERE EMAIL_ADDRESS IN ( SELECT Email FROM DATA.CONTACTS );

select * from mmbi_tables_data.crm_mmbi_contacts

我试着使用PPAGE别名删除,但我仍然得到同样的错误,无论我做什么。

回答

1

这看起来并不那么简单。我认为以下将在Teradata中运作:

UPDATE tgt 
    FROM data.contacts tgt, tables.part ppage 
    SET LAST_NAME = TABLES.PART.LAST_NAME, 
     BPP_USER_ID = TABLES.PART.User_Id, 
     Email_Address = TABLES.PART.Email, 
     Last_name = TABLES.PART.Last_name, 
     First_name = TABLES.PART.First_name 
    WHERE tgt.email = ppage.email_address;