我正在使用MySql
所以我有5个表,我试图构建一个将所有这些连接在一起的视图,并显示当前结构缺少的信息。
plat(1 =多个)PG(1 =多个)TS
PG(1 =很多)PGHist
TT(1 =很多)TS
OR
我正在使用MySql,但我不知道如何写这个,因为你不能使用完整的连接,因为我知道在MySql中有人可以帮忙吗?
我需要它,所以显示任何部分的空值。
答案 0 :(得分:1)
考虑使用LEFT JOIN和RIGHT JOIN的UNION来模拟MySQL中的FULL JOIN,如下所示:
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