![](/img/trans.png)
[英]Why does my MySQL MATCH() AGAINST() query fail with columns from LEFT JOIN'd databases?
[英]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.