私は次の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のグループに属しているためです。
私には2つのグループに他の人がいて、次のように見せてもらいたいです。
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フィドルですが、結果は次のようになります。
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
誰かがこれを行う方法を知っていますか?