PostgreSQL UNION,但是结果从哪里来



我想对两个表进行并集,但我需要知道结果来自哪里。这是我的加入。

(SELECT  * FROM watchlist_movies WHERE movie_id = $1 and user_id = $2)
UNION ALL
(SELECT* FROM favorite_movies WHERE movie_id = $1 and user_id = $2)

所以我的目标是返回一个包含两个对象的数组。例如,

[
{watchList: [... results]},
{favorites: [... results]}
]

这个结果是可能的,还是必须生成两个单独的sql语句并将它们打包到Node.js中的数组中?

尝试:

(SELECT 'Watchlist', a.* FROM watchlist_movies a WHERE movie_id = $1 and user_id = $2)
UNION ALL
(SELECT 'Favorites', b.* FROM favorite_movies b WHERE movie_id = $1 and user_id = $2)

最新更新