【问题标题】:Can't we join two tables and fetch data in Kafka?我们不能在 Kafka 中加入两个表并获取数据吗?
【发布时间】:2021-04-23 09:29:42
【问题描述】:

我已加入两个表并使用 Postgres 源连接器获取数据。但每次它都会给出同样的问题,即

我在 Postgres 中运行了相同的查询,它运行没有任何问题。 Kafka不能通过join table来获取数据吗?

【问题讨论】:

  • 每次大写和小写字母从DatasetPostgresql方向混合时,都会产生混乱,人们正在寻找名为p_CreateDate的字段时其他搜索带有附加引号的"p_CreateDate"。最好的办法是全部小写。在这里,您的麻烦是一个正在寻找p_CreatedDate 而另一个正在寻找p.CreatedDate。一个在p 附近有一个点,另一个带有下划线字符。
  • @MarcLeBihan 实际上 p_CreatedDate 是一个别名。实际上这是我的查询: "SELECT \"p\".\"Id\" as \"p_Id\",\"p\".\"CreatedDate\" as \"p_CreatedDate\",\"DocumentNumber\", \"p\".\"ClassId\" as \"p_ClassId\",\"c\".\"Id\" as \"c_Id\",\"c\".\"CreatedDate\" as \" c_CreatedDate\", \"DocumentNo\",\"c\".\"ClassId\" as \"c_ClassId\" FROM \"public\".\"PolicyIssuance\" \"p\" left join \"public\ ".\"ClassDetails\" \"c\" on \"p\".\"DocumentNumber\" = \"c\".\"DocumentNo\""

标签: apache-kafka apache-kafka-streams apache-kafka-connect kafka-join


【解决方案1】:

我通过使用子查询的概念来解决这个问题。问题是
当我使用别名时,别名列被解释为一个整体作为列名,因此会出现问题。这是我的查询: select * from (select p.\"Id\" as \"p_Id\", p.\"CreatedDate\" as p_createddate, p.\"ClassId\" as p_classid, c.\"Id\" as c_id, c.\"CreatedDate\" as c_createddate, c.\"ClassId\" as c_classid from \"PolicyIssuance\" p left join \"ClassDetails\" c on p.\"DocumentNumber\" = c.\"DocumentNo\") as result"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-05
    • 1970-01-01
    • 1970-01-01
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-24
    相关资源
    最近更新 更多