人员表
+----+------+
| id | name |
+----+------+
| 1 | John |
+----+------+
汽车工作台
+----+----------+
| id | car |
+----+----------+
| 1 | Audi |
| 1 | BMW |
| 1 | Mercedes |
+----+----------+
信用卡表
+----+-----------------+
| id | bank |
+----+-----------------+
| 1 | Scotiabank |
| 1 | Bank of America |
+----+-----------------+
id in person表是其他两个表的外键,我想知道是否有一种方法可以将这些表连接在一起而不显示重复的记录,如下所示:
+----+------+----------+-----------------+
| id | name | car | bank |
+----+------+----------+-----------------+
| 1 | John | Audi | Scotiabank |
|NULL| NULL | BMW | Bank of America|
|NULL| NULL | Mercedes | NULL |
+----+------+----------+-----------------+
1条答案
按热度按时间zc0qhyus1#
你可以这样做,但你不应该。相反,我建议将所有值放在一行中:
为什么不按指定的方式将结果放在多行中?当然,这是可能的。但是,行中的列应该彼此“相关”(这是“关系代数”中“关系”所讨论的内容)。将第一列替换为
NULL
,则它们与其余列不再有任何关系。类似地,最后两列中的值彼此无关。另外,我猜上面的内容基本上就是你想要的。