You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Supabase技术问询:如何获取用户关注艺人的全部歌曲

修正后的获取关注艺人全部歌曲的SQL函数

你的getAllSongs函数存在几个SQL语法和逻辑问题,下面是修正方案:

原函数的问题点

  • SQL语句顺序错误:WHERE子句应该放在JOIN操作之后,而非之前
  • 表引用错误:你使用了artist.artistid,但表名是artists,正确写法是artists.artistid
  • 比较运算符错误:SQL中判断相等使用=,而非==

修正后的函数(直接关联表写法)

create or replace function getAllSongs(param1 text) returns setof songs as $$
select songs.*
from "artists"
inner join songs on artists.artistid = songs.artistid
where param1 = ANY(artists.artistFollowers);
$$ language sql;

复用已有函数的简洁写法

你可以直接调用已实现的getArtists函数,逻辑更清晰:

create or replace function getAllSongs(param1 text) returns setof songs as $$
select songs.*
from getArtists(param1) as artists
inner join songs on artists.artistid = songs.artistid;
$$ language sql;

以上两种写法都会返回当前用户(param1对应的用户ID)所关注艺人的全部歌曲数据,符合returns setof songs的返回要求。

内容的提问来源于stack exchange,提问作者Redstain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 22:25:25