【问题标题】:Cross join error with unnest array and user supplied data未嵌套数组和用户提供的数据的交叉连接错误
【发布时间】:2020-09-30 05:26:32
【问题描述】:

我正在尝试在 postgres 中创建交叉连接

SELECT * FROM (SELECT unnest(ARRAY[1,2])) AS t1(product_id)
CROSS JOIN
SELECT * FROM (SELECT unnest(ARRAY[5])) AS t2(category_id);

这会产生错误。我想不出问题。

【问题讨论】:

  • FROM 子句中的子查询需要一个表别名。我投票结束是一个错字。
  • 您能否在此处更正并发布解决方案。

标签: sql arrays postgresql select unnest


【解决方案1】:

您的查询有不必要的嵌套级别,这最终会导致问题,因为某些派生表(即子查询)不是别名。

你可以这样说:

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);

【讨论】:

  • 非常感谢
【解决方案2】:

这个也可以

select * from 
    unnest(array[1,2]) t1(product_id), 
    unnest(array[5]) t2(category_id);

【讨论】:

    猜你喜欢
    • 2020-03-23
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 2018-07-13
    相关资源
    最近更新 更多