Sql 使用联接条件将值插入到新表中

Sql 使用联接条件将值插入到新表中,sql,Sql,我不知道该怎么做 我已创建了新表名。表1 我喜欢在新表中插入特定的列。 这是我试图使用的代码,但它不起作用 Insert into name.table1 SELECT account.STRING0, activity.CONTACT, account.STRING2, activity.TEMPLATE, activity.NAME , activity.EXECUTION, activity.SENDDATE, Activity.OPENDATE, Activity.CLICKDATE

我不知道该怎么做

我已创建了新表名。表1

我喜欢在新表中插入特定的列。 这是我试图使用的代码,但它不起作用

Insert into name.table1
SELECT 
account.STRING0,
activity.CONTACT,
account.STRING2,
activity.TEMPLATE,
activity.NAME ,
activity.EXECUTION, 
activity.SENDDATE,
Activity.OPENDATE,
Activity.CLICKDATE
FROM  
    db.1_account account 
Join 
    db.2_activity activity 
    ON 
     (account.object = activity.contact)
 left JOIN 
    db.VAL val1 
       ON val1.obj_row_id = activity.CAMPAIGN AND (val1.FIELD in(850)) 
left JOIN 
    db.VAL val2 
       ON val2.obj_row_id = activity.CAMPAIGN AND (val2.FIELD in(851))

此insert查询有问题,但我找不到问题所在。

根据您的评论,您希望根据结果创建新表。在子句中使用

SELECT 
account.STRING0,
activity.CONTACT,
account.STRING2,
activity.TEMPLATE,
activity.NAME ,
activity.EXECUTION, 
activity.SENDDATE,
Activity.OPENDATE,
Activity.CLICKDATE INTO NEW_TABLE
FROM  
    db.1_account account 
Join 
    db.2_activity activity 
    ON 
     (account.object = activity.contact)
....

创建空白表与在将数据插入表时不提及列无关

您说要插入到特定列中,但没有提到要插入数据的表的列名

无论如何,假设这是您想要实现的,我希望下面的代码可以帮助您

Insert into name.table1(yourcolumn1,yourcolumn2,...)SELECT account.STRING0, activity.CONTACT,account.STRING2,activity.TEMPLATE,activity.NAME ,activity.EXECUTION,activity.SENDDATE,Activity.OPENDATE,Activity.CLICKDATE FROM  
db.1_account account Join 
db.2_activity activity 
ON 
 (account.object = activity.contact) left JOIN 
db.VAL val1 
   ON val1.obj_row_id = activity.CAMPAIGN AND (val1.FIELD in(850)) left JOIN  db.VAL val2 
   ON val2.obj_row_id = activity.CAMPAIGN AND (val2.FIELD in(851))

您是试图根据select查询结果创建新表,还是试图将结果插入现有表中。同时提及您正在使用的
RDBMS
(1)在数据库中标记问题。(2) 编辑问题并包含您遇到的错误。(3)显示
table1
的结构,或在
insert
中包含
table1
的列。我为这次插入创建了空白表,以便将所有列数据都放入新的空白表中。我知道我需要定义新表,即使用正确参数创建表,但需要使用哪些命令来提供这些参数参数:以下参数:string0=integer,String2=char 255,Contact=char 255,template=char 255,name=char 255,Execution=char 255,Senddate=timestamp,Opendate=timestamp,clickdate=timestamp我创建了一个带有以下参数的表:create table db.TEST1(string0整数,Contact char(255),EXT_String2 char(255),template char(255),名称字符(255),执行字符(255),发送日期时间戳,打开日期时间戳,点击日期时间戳,)当我这样做时,它在第二行上给了我一个错误,STRING0没有找到。我是否必须将之前的所有列都放入新表中。或者手动将这些列添加到新表中,或者我应该做什么?您的新表中是否有一个名为
STRING0
的列还没有,我希望我可以通过一个查询来导入数据和把这些专栏带到新的地方table@meelismelx433-您正在使用哪些RDBMS,如Sql server、Orcale、Mysql、Postgre等。
我正在使用Sybase Sql server