簡體   English   中英

為什么我的完整連接查詢失敗?

[英]why does my full join query fail?

我有這個問題:

SELECT *, default_insurance.company AS company
FROM (default_insurance)
JOIN default_gruppe_rel
     ON default_gruppe_rel.uid = default_insurance.uid
JOIN default_profiles
     ON default_insurance.uid = default_profiles.id
WHERE `kontakt` = '1' 

現在我從中獲得了一個結果集,但是如果我想獲得沒有連接匹配的結果,並且只通過將第一個連接類型更改為FULL來更改此查詢

SELECT *, default_insurance.company AS company
FROM (default_insurance)
FULL JOIN default_gruppe_rel
    ON default_gruppe_rel.uid = default_insurance.uid
JOIN default_profiles
    ON default_insurance.uid = default_profiles.id
WHERE `kontakt` = '1' 

我收到一條錯誤消息:您的SQL語法錯誤; 查看與您的MySQL服務器版本對應的手冊,以便在'FULL JOIN default_gruppe_rel附近使用正確的語法ON default_gruppe_rel.uid = default_insurance.uid J'在第1行

這是為什么? 是我的MYSQL版本未知的全部加入? 它被棄用了嗎?

MySQL不支持FULL JOIN 有關用戶注釋中提供的一些解決方法, 請參閱MySQL文檔

FULL JOIN僅適用於某些RDBMS ...嘗試LEFT OUTER JOIN / LEFT JOIN以獲取第一個表中的所有記錄以及后續表中的所有匹配。

您也可以嘗試一個CROSS JOIN,它不是真正的連接,而是返回'連接'表的笛卡爾積(即所有可能的組合)。

...LEFT JOIN...
UNION ALL
...RIGHT JOIN...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM