【发布时间】:2021-06-25 16:32:07
【问题描述】:
在子查询中与 Union 一起使用时,我无法让 In 过滤器工作。
SELECT
CAST(table1.company_id__c as bigint),
table1.casenumber
FROM
table2
LEFT JOIN
table1 ON table2.accountid = table1.id
WHERE
table1.company_id__c IN (WITH t1 AS
(
SELECT
CAST(product_A_ID AS bigint)
FROM
table3
WHERE
filter_1 = 'Yes'
AND product_A_ID IS NOT NULL
),
t2 AS
(
SELECT
CAST(product_B_ID AS bigint)
FROM
table3
WHERE
filter_1 = 'Yes'
AND product_B_ID IS NOT NULL
),
t3 AS
(
SELECT product_A_ID AS one_ID
FROM t1
UNION
SELECT product_B_ID AS one_ID
FROM t2
)
SELECT *
FROM t3)
AND table1.country__c = 'UK'
AND table2.createddate BETWEEN '2020-01-01' AND '2021-12-31'
错误信息是
[代码:500310,SQL 状态:XX000] Amazon 无效操作:无效数字,值 'P',位置 0,类型:Long
详情:
错误:无效数字,值“P”,位置 0,类型:Long
代码:1207
上下文:PYMT-6247719908193229
查询:3738401
我可以让它工作 In 查询只是 1 个表(没有联合)
【问题讨论】:
标签: sql amazon-redshift