我想在postgres中创建一个交叉连接
SELECT * FROM (SELECT unnest(ARRAY[1,2])) AS t1(product_id) CROSS JOIN SELECT * FROM (SELECT unnest(ARRAY[5])) AS t2(category_id);
这会产生错误。我想不出这个问题。
ckx4rj1h1#
查询具有不必要的嵌套级别,这最终会导致问题,因为某些派生表(即子查询)不是别名。你可以这样说:
select t1.product_id, t2.category_id from unnest(array[1,2]) as t1(product_id) cross join unnest(array[5]) AS t2(category_id);
zbwhf8kr2#
这也行
select * from unnest(array[1,2]) t1(product_id), unnest(array[5]) t2(category_id);
2条答案
按热度按时间ckx4rj1h1#
查询具有不必要的嵌套级别,这最终会导致问题,因为某些派生表(即子查询)不是别名。
你可以这样说:
zbwhf8kr2#
这也行