FlinkSQL是否支持列别名?关联查询重命名列无值问题排查
问题解答
Flink SQL完全支持列别名,你在SELECT语句里用AS指定别名的写法是完全合法的,这个语法本身没有问题。
查询无结果大概率是以下几个原因导致的:
- 表定义存在语法错误:
car_dealers表中的car_id列未指定数据类型,Flink SQL要求所有列必须显式声明类型,需要修改为:CREATE TABLE car_dealers ( id BIGINT, car_id BIGINT ) WITH ( -- 补充连接器配置 ); - WITH子句缺失核心配置:你的三个CREATE TABLE语句的WITH块都是空的,Flink必须通过WITH参数指定连接器类型(比如文件、内存、Kafka等)、数据格式等必要信息,否则表无法正常加载或写入数据。比如测试用内存表可以配置:
CREATE TABLE cars ( id BIGINT ) WITH ( 'connector' = 'memory', 'format' = 'csv' ); - 源表无匹配数据:如果
cars或car_dealers表本身没有数据,或者没有满足c.id = d.car_id关联条件的记录,Join后的查询自然不会返回结果,需要先确认源表中存在符合条件的数据。
内容的提问来源于stack exchange,提问作者Ryan Wang
相关产品推荐
相关产品推荐

