Mongodb Tableau | BI连接器,$ lookup查询SQL语法-左外部联接

时间:2018-11-01 15:54:29

标签: mysql mongodb aggregation-framework left-join tableau

我正在尝试为Tableau内部的左外部联接实现$ lookup查询的SQL语法,但是它永远无法工作。我之所以尝试这种方法,是因为“ LEFT OUTER JOIN”花费大量时间(小时)来处理信息,因为我的收藏以GB为单位。

我每次都从Tableau SQL中不断收到的错误在这里:

与MongoDB BI连接器通信时发生错误。

  

连接不良:Tableau无法连接到数据源。   [MySQL] [ODBC 8.0(w)驱动程序] [mysqld-5.7.12 mongosqld v2.7.0] parse sql'SELECT *   来自(     SELECT *,video_docs     从视频     在哪里video_docs输入(选择*     来自video_authors     WHERE author_name = videos.author);   )自定义SQL查询   LIMIT 0'错误:位置147的语法错误

enter image description here

根据文档,BI连接器工作正常,但仍然告诉我这是解析错误。

相当于Mongo shell的我的SQL查询

Mongo Shell查询,它非常完美!

db.videos.aggregate([
   {
     $lookup:
       {
         from: "video_authors",
         localField: "author",
         foreignField: "author_name",
         as: "video_docs"
       }
  }
])

SQL查询,永远无法工作

SELECT *, video_docs
FROM videos
WHERE video_docs IN (SELECT *
FROM video_authors
WHERE author_name= videos.author);

我正在跟踪Mongodb的此参考。 https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/#perform-a-single-equality-join-with-lookup

任何帮助将不胜感激!

此致

Adnan

0 个答案:

没有答案