我尝试使用hasura计算字段和一个名为players的表来组合firstname和lastname列。下面是我复制和修改文档中显示的示例。
CREATE FUNCTION player_full_name(player_row players)
RETURNS TEXT AS $$
SELECT player_row.firstName || ' ' || player_row.lastName
$$ LANGUAGE sql STABLE;
返回以下错误:
SQL Execution Failed
postgres-error : missing FROM-clause entry for table "player_row"
2条答案
按热度按时间kx1ctssn1#
顺便说一下,它可能与您的问题没有直接关系,但是对于postgres,只要您有列名,如果有任何大写字母,它就要求您引用字段,因此在这种情况下,您需要以下函数:
注意列名周围的双引号,postgres会自动将所有列小写,我相信这就是为什么hasura会在他们的例子中选择snake-case。
我还注意到你在函数中引用了
player_row players
,确保players
末尾的部分与表的确切名称匹配。ct3nt3jp2#
您的列是否命名为
firstName
以及lastName
?与
first_name
以及last_name
作为players
表中,我可以用共享的函数重现错误。我相信您的选项是重命名first\u name-->firstname和last\u name-->lastname列,或者将full name函数定义为: