如何解决是否可以从多个表中提取然后将结果插入到同一查询中的另一个表中与MySQL?
我正在用UNION ALL
查询多个表,然后使用别名将结果插入到另一个表中。告诉我在INSERT INTO
行之后有语法错误。该查询对我来说看起来正确,错误非常模糊。任何帮助将不胜感激!
SELECT
uploads.campaign_name as 'Campaign Name',date as Date,country as Country,region as Region,amount_spent as 'Amount Spent',impressions as Impressions,clicks as Clicks,cpc as CPC,ctr as CTR,cpm as CPM,category as Category,subcategory as Subcategory,source as Source
FROM (SELECT
facebook.ad_name as campaign_name,facebook.day as 'date',CASE WHEN facebook.account_name = 'PMD Beauty' THEN 'US'
WHEN facebook.account_name = 'PMD Beauty United Kingdom' THEN 'UK'
WHEN facebook.account_name = 'PMD Beauty Australia' THEN 'AU'
WHEN facebook.account_name = 'PMD Beauty Europe' THEN 'EU' END as country,facebook.region as region,facebook.amount_spent as amount_spent,facebook.impressions as impressions,facebook.clicks as clicks,facebook.cpc as cpc,facebook.ctr as ctr,facebook.cpm as cpm,'Facebook' as source
FROM
facebook
UNION ALL
SELECT
tiktok.campaign_name as campaign_name,tiktok.date as 'date',tiktok.location as country,null as region,tiktok.cost as amount_spent,tiktok.impression as impressions,tiktok.click as clicks,tiktok.cpc as cpc,tiktok.ctr as ctr,tiktok.cpm as cpm,'Tiktok' as source
FROM
tiktok
UNION ALL
SELECT
pinterest.ad_name as campaign_name,pinterest.date as 'date',trim(substring_index(pinterest.targeting_value,':',1)) as country,-1)) as region,pinterest.spend_in_account_currency as amount_spent,pinterest.impressions as impressions,pinterest.link_clicks as clicks,pinterest.cpc as cpc,pinterest.ctr as ctr,pinterest.cpm as cpm,'Pinterest' as source
FROM
pinterest
UNION ALL
SELECT
steelhouse.campaign_group_name as campaign_name,steelhouse.date as 'date',null as country,steelhouse.total_spend as amount_spent,steelhouse.impressions as impressions,null as clicks,null as cpc,null as ctr,null as cpm,'SteelHouse' as source
FROM
steelhouse
UNION ALL
SELECT
criteo.campaign as campaign_name,criteo.day as 'date',criteo.cost as amount_spent,criteo.displays as impressions,criteo.clicks as clicks,criteo.cpc as cpc,criteo.ctr as ctr,criteo.cpm as cpm,'Criteo' as source
FROM
criteo
UNION ALL
SELECT
hivewyre.creative_name as campaign_name,hivewyre.date as 'date','US' as country,hivewyre.spend as amount_spent,hivewyre.imps as impressions,hivewyre.clicks as clicks,'Hivewyre' as source
FROM
hivewyre
UNION ALL
SELECT
generic_social_media.campaign_name as campaign_name,generic_social_media.date as 'date',generic_social_media.country as country,generic_social_media.region as region,generic_social_media.amount_spent as amount_spent,generic_social_media.impressions as impressions,generic_social_media.clicks as clicks,generic_social_media.cpc as cpc,generic_social_media.ctr as ctr,generic_social_media.cpm as cpm,'Generic Template' as source
FROM
generic_social_media) uploads
LEFT JOIN
product_to_category
ON uploads.campaign_name LIKE BINARY concat('%',product_to_category.product,'%')
WHERE uploads.date >= :startDate
INSERT INTO
marketing (campaign_name,category,subcategory,'date',country,region,amount_spent,impressions,clicks,cpc,ctr,cpm,source,plenadata__created_at,plenadata__updated_at)
SELECT
campaign_name,NOW(),NOW()
FROM
uploads
在终端机中:
`error`='\t\t\t\tmarketing (campaign_name,\'date\',country\' at line 149',`stack`='SequelizeDatabaseError: You have an error in your SQL syntax;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。