2016-05-17 3 views
-1

に参加します。MySQLのフル私はだから私は5つのテーブルを持っていると私は一緒にすべてのこれらを結合して、現在の構造が不足している情報を表示するビューを構築しようとしているMySQLの</p> <p>を使用してい

PLAT(1 =多くの)PG(1 =多くの)TS

PG(1 =多くの)PGHist

TT(1 =多くは)

OR

enter image description here をTS私はMySqlを使用していますが、私はMySqlを認識している限り、誰も助けることができる完全な結合を使用できないので、これを書く方法はわかりません。

私はそれを必要とするので、どの部分にもnullを表示してください。

+0

「一緒にすべてのこれらを結合し、不足している情報を示し、」明確ではありません。何らかの入力があった場合の出力の様子を説明してください。いくつかの入力に対して望ましい出力例を挙げてください。 – philipxy

答えて

1

は、次のようにMySQLでは、JOIN FULLをエミュレートするために、JOINの両方LEFTのUNION JOINとRIGHTを使用することを検討してください:

SELECT * FROM PLAT 
LEFT JOIN PG ON PG.FORGEIN_KEY = PLAT.PRIMARY_KEY 
LEFT JOIN PGHIST ON PGHIST.FORGEIN_KEY = PG.PRIMARY_KEY 
LEFT JOIN PG ON PG.FORGEIN_KEY = PLAT.PRIMARY_KEY 
LEFT JOIN TS ON TS.FORGEIN_KEY = PG.PRIMARY_KEY 
LEFT JOIN TT ON TT.FORGEIN_KEY = TS.PRIMARY_KEY 

UNION 

SELECT * FROM PLAT 
RIGHT JOIN PG ON PG.FORGEIN_KEY = PLAT.PRIMARY_KEY 
RIGHT JOIN PGHIST ON PGHIST.FORGEIN_KEY = PG.PRIMARY_KEY 
RIGHT JOIN PG ON PG.FORGEIN_KEY = PLAT.PRIMARY_KEY 
RIGHT JOIN TS ON TS.FORGEIN_KEY = PG.PRIMARY_KEY 
RIGHT JOIN TT ON TT.FORGEIN_KEY = TS.PRIMARY_KEY 
関連する問題