Ric*_*d H 12 mysql merge join create-table
我有两个现有的表,具有不同的字段,除了主ID(varchar,而不是int).我想创建一个第三个表,它基本上是这两个的合并,这样对于给定的主键,我在一个表中有所有字段.
这样做的原因是什么?
非常感谢
Max*_*keh 29
CREATE TABLE result AS
(SELECT first.*,
second.f1,
second.f2,
second.f3
FROM first
INNER JOIN second
ON first.id = second.id);
Run Code Online (Sandbox Code Playgroud)
要获得视图,请执行相同操作,但将"TABLE"替换为"VIEW".如果您使用表而不是视图,请确保添加主键,因为默认情况下不会添加主键.
如果您确定对于给定的主 ID,两个表中都只有一行,那么这应该有效:
SELECT
tablea.field1, tablea.field2, tablea.field3, ... tablea.fieldn, <---- field list
tableb.field1, tableb.field2, tableb.field3, ... tableb.fieldm <---- field list
FROM
tablea, tableb
WHERE
tablea.primaryID = tableb.primaryID
Run Code Online (Sandbox Code Playgroud)
如果您实际上不需要 tablea 和 tableb 的主 ID 字段,您可能希望从字段列表中省略它们(在此查询中,由于条件原因,两者将包含相同的值tablea.primaryID = tableb.primaryID
)。
a 的语法VIEW
也相对相似。
归档时间: |
|
查看次数: |
50458 次 |
最近记录: |