MYSQL将2个结果合并到1个表中

时间:2013-11-05 03:51:25

标签: mysql

我正在构建一个c#程序,目前我一直在从MYSQL数据库中获取数据并将它们绑定到网格视图。我现在已经研究了几天,但无济于事。

我在数据库中有4个表。

table 1 - alpha
table 2 - bravo
table 3 - charlie
table 4 - delta

attributes of alpha (id, type, user, role )
attributes of bravo (id, type, date, user)
attributes of charlie (id,type, cat, doneby, comment)
atttibutes of delta (id,type,  cat, doneby)
* the pk of alpha and bravo is (id)
* the pk of charlie and delta is (id, type)

我之前通过内部加入alpha,bravo和charlie进行了查询1,这导致了

的成功结果
(id, type, date, user, role, cat, doneby, comment)

我之前通过内部加入alpha,bravo和delta进行了查询2,这导致了

的成功结果
(id, type, date, user, role, cat, doneby)

现在,我试图建立一个query3,它将query1和query2的结果合并在一起。

我的尝试的结果导致 (id,type,date,user,role,cat,doneby,comment,id,type,date,user,role,cat,doneby)

由于我不想要重复的列,我想通过将记录作为新元组放在结果表中来寻求如何使结果变得类似下面的建议。

(id, type, date, user, role, cat, doneby, comment)

谢谢!

P.S:由于(id,type)

,PK不会造成问题

2 个答案:

答案 0 :(得分:0)

根据您的上一条评论,您可以使用UNION,然后使用已发布的 Lajos ,例如:

Query 1
UNION
Query 2

对于可以在任一查询中找到的缺失列或列,您必须使用具有相同列名的空列填充它。

参见示例here

答案 1 :(得分:0)

如果你想拥有单独的元组,实际上union - 这两组,请执行以下操作:

(select id, type, date, user, role, cat, doneby, '' as comment from yourtable1)
union
(select id, type, date, user, role, cat, doneby, comment from yourtable2)

详细了解union here