如何解决寻找 Postgres 的 CROSS JOIN LATERAL for Oracle 的替代方案
所以我的公司正在从 Postgres 迁移到 Oracle,我正在迁移我在应用程序中的查询,该查询使用 CROSS JOIN LATERAL 来组合字段并创建用于自动完成的术语列表。以下是我用于 Postgres 的内容
SELECT
DISTINCT terms as "catterms",tsource as "termsource"
FROM prodcats pc
INNER JOIN prodgenres pg on pc.productid = pg.productid
INNER JOIN genres g on pg.genreid = g.genreid
INNER JOIN products pn on pc.productid = pn.productid
INNER JOIN catnew cn on pn.modelcat = cn.categoryid
CROSS JOIN LATERAL ON (VALUES (cn.name,'mc'),(g.name,'pg'),(pc.productsku,'ps')) as t(terms,tsource)
WHERE pc.categoryid = 42 ORDER BY termsource ASC,catterms ASC
我尝试过自己在谷歌搜索中的尝试,但只能在 Oracle 和 unpivot 中使用 LATERALs 来组合列,但它们与我使用的旧查询一样与其他值不一致。在 Oracle 中运行此查询会给我“索引处缺少 IN 或 OUT 参数:: 1”您可以提供的任何帮助将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。