0

我正在构建 ac# 程序,目前正忙于从 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)

谢谢!

PS:由于(id,类型),PK不会造成问题

4

2 回答 2

0

根据您的上一条评论,您可以使用UNIONthen as Lajos已经发布的内容,例如:

Query 1
UNION
Query 2

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

在此处查看示例

于 2013-11-05T03:58:29.467 回答
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 这里

于 2013-11-05T04:34:18.403 回答