我有以下 mySQL 查询:
SELECT * FROM `objects`
natural join `gPeople`
natural join `gVip`
natural join `gTeachers`
返回:
object_id name vip_code subject
----------------------------------------------------------
003 John 9003 Math
这是因为“John”属于 People、Vip 和 Teachers 组。
我只有两组其他人,并希望他们显示如下:
object_id name vip_code subject
----------------------------------------------------------
001 Mary History
002 Holly 9002
003 John 9003 Math
我尝试了左外连接,但最终得到了 objects_id 列的许多副本,由于我使用结果的方式,这不是我们所希望的。
注意:我必须使用 * 因为它是我正在尝试做的事情的核心。我需要这些表能够支持添加/删除的列,并且查询能够获取它们。
http://sqlfiddle.com/#!2/eefe7/3/0这是我尝试过的 SQL Fiddle 但是我的结果如下所示:
object_id object_id name object_id vip_code object_id subject
------------------------------------------------------------------------------
001 001 Mary 001 History
002 002 Holly 002 9002
003 003 John 003 9003 003 Math
有人知道这样做的方法吗?