clickhouse 復雜查詢時嵌套連接join可能存在的異常解決(xjl456852原創)


復雜查詢可能出現異常類似於,有時你可能是在創建視圖,也可能會出現下面的錯誤:
Code: 352. DB::Exception: Received from localhost:9000. DB::Exception: Cannot refer column '表名.字段名' to table.

首先clickhouse 在當前版本(version 19.17.4.11)中不支持exists用法,如果遇到了exists用法,應該把它改為in的語法.

因為查詢語句比較復雜,這個整體的復雜查詢語句可以在mysql中查詢, 其中的部分嵌套語句也可以在mysql和clickhouse中查詢.
但是整體的復雜查詢卻不能在clickhouse中查詢,會報上面提示的錯誤.
其中內部的嵌套查詢用了多個表的join 和 inner join 條件用的 on (表名.列名 = 表名1.列名1) 等多表連接

最后的解決方案:
將內部的查詢單獨取出來創建一個單獨的小視圖.
然后 原來的整體的復雜查詢中內部嵌套的查詢替換為這些小視圖,這個整體的復雜查詢語句就會變得簡單,再運行這個查詢,就不會再報這個錯誤了.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM