我不知道该怎么做。
我创建了新的表名.table1
我想在新表中插入特定的列。 这是我尝试使用的代码,但它没有用。
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))
这个插入查询有问题,但我找不到。
答案 0 :(得分:1)
根据您的评论,您想要从结果中创建新表。使用INTO
子句
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)
....
答案 1 :(得分:1)
创建空白表与在将数据插入表中时不提及列无关。
您说要插入特定列,但是您没有提到要插入数据的表的列名。
任何方式,假设这是你想要实现的,我希望下面的代码可以帮助你。
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))