使用SQL创建表格后,表格不支持筛选,操作时报“missing FROM-clause entry for table “d_view_uqa””错误。其中d_view_uqa是一个SQL表格。由多个表格连接组成的结果表。SQL如下:
select uav.id as id, username, title, u.id as uid, v.id as vid, uav.“createdAt” as create_t, duration from d_lc_user u, d_lc_video v, d_wx_ua_video uav
where uav.lc_uid=u.id and uav.target_id=v.id
SELECT count(*) AS "count"
FROM (
select uav.id as id, username, title, u.id as uid, v.id as vid, uav."createdAt", duration
from d_lc_user u, d_lc_video v, d_wx_ua_video uav
where uav.lc_uid=u.id and uav.target_id=v.id
) AS "view_ua_video"
WHERE ("d_view_ua_video"."username" ILIKE '%姚%');
询问ChatGPT得知
错误 missing FROM-clause entry for table d_view_ua_video 是因为在 WHERE 子句中引用了 d_view_ua_video 表,而这个表并没有在你的查询中定义。你实际上想引用的是子查询 view_ua_video 中的 username 字段。
要解决这个问题,你需要在 WHERE 子句中正确引用子查询的别名 view_ua_video
改正SQL如下即可:
SELECT count(*) AS "count"
FROM (
-- 同上忽略
) AS "view_ua_video"
WHERE ("view_ua_video"."username" ILIKE '%姚%');