【发布时间】:2020-02-27 05:04:37
【问题描述】:
单行子查询返回多行。
这是我在运行以下雪花代码时遇到的错误。 我知道这是因为 TO_VARCHAR 函数不适用于整个表列。关于如何解决问题并将其应用于整个列的任何想法?
SELECT sv.SKU
, li.price
, li.cost_price
, pc.product_description
FROM raw.stitch_heroku.spree_line_items as li
LEFT OUTER JOIN (SELECT *
FROM raw.stitch_heroku.spree_variants
WHERE LENGTH(raw.stitch_heroku.spree_variants.SKU) Between 4 and 5) as sv
ON li.variant_id = sv.id
LEFT JOIN (SELECT analytics.dbt_lcasucci.product_category.product_description
, TO_VARCHAR(analytics.dbt_lcasucci.product_category.product_ID)
FROM analytics.dbt_lcasucci.product_category) as pc
ON (SELECT TO_VARCHAR(analytics.dbt_lcasucci.product_category.product_ID)
FROM analytics.dbt_lcasucci.product_category) = sv.id
GROUP BY sv.SKU,li.price,li.cost_price,pc.product_description
我必须将名为 analytics.dbt_lcasucci.products 的表的数据类型从 int 更改为 varchar,因为如果不这样做,连接将无法识别这些字段,并且即使单元格的实际内容匹配,也只会打印空值。
【问题讨论】:
标签: sql join types subquery snowflake-cloud-data-platform