sql - 寻找替代 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 中运行此查询会给我“在 index::1 处缺少 IN 或 OUT 参数”您可以提供的任何帮助将不胜感激。
解决方案
推荐阅读
- android - 从 IntentService 中的 Firestore 获取数据的问题
- c# - WPF:当 DataGridComboBox SelectedValueBinding 更改时,已触发 ValidationRule 但 IsDirty == false
- c++ - 如何创建函数将最后一个节点的值更改为 1000?
- php - 自定义注册表单不起作用 -Wordpress
- carrierwave - Carrierwave MiniMagick PDF 预览
- javascript - Eloquent javascript 第 11 章承诺异步
- javascript - 第一个孩子似乎并不一致
- python - 根据不同的查询日期使用 Cx_Oracle 创建 Dataframe
- javascript - 在 jss 中为 backgroundImage 动态插入 url 时,我没有得到任何图像。反应,材料-ui
- numpy - 如何将一个 numpy 数组中的行与第二个数组中的多列相乘?