您可以使用连接的使用形式而不是onclause在MySQL(和其他标准数据库)中执行此操作.
不幸的是,您可以在此处执行此操作,因为连接键在两个表中具有不同的ID.如果它们具有相同的名称,您只需执行以下操作:
创建视图VIEW_CAMPAIGNS AS
选择 *,
来自广告系列c加入
广告商
使用(advertisers_id);
你可以做的最近的是选择更大的表,使用*表示,然后列出另一个表的所有列.
或者,更好的是,只需使用information_schame.columns表来生成列名.就像是:
select (case when column_name = 'id' and table_name = 'campaigns' then `c.campaign_id`
when column_name = 'id' and table_name = 'advertisers' then 'a.advertiser_id'
when table_name = 'campaigns' then concat('c.', column_name)
when table_name = 'advertisers' then concat('a.', column_name)
end) as column_name
from information_schema.columns
where table_name in ('campaigns, 'advertisers')