Sql 如何为Amazon redshift数据库编写查询,使相关查询的where子句具有两个条件?

Sql 如何为Amazon redshift数据库编写查询,使相关查询的where子句具有两个条件?,sql,postgresql,amazon-redshift,Sql,Postgresql,Amazon Redshift,范例- SELECT date, name, (SELECT value FROM this_table WHERE col1= 'test1' and col2='test' ) AS num_sloths_bought_before FROM source_table; 当我在红移中执行查询时,我得到以下错误- [Amazon](500310) Invalid operation: This type of correlated

范例-

SELECT date, name, 
       (SELECT value
        FROM this_table
        WHERE col1= 'test1' and col2='test'
       ) AS num_sloths_bought_before
FROM source_table;
当我在红移中执行查询时,我得到以下错误-

[Amazon](500310) Invalid operation: This type of correlated subquery pattern is not supported yet;

通常可以使用联接重写相关标量子查询,对于查询,它是左联接:

SELECT date, name, dt.value AS num_sloths_bought_before
FROM source_table
LEFT JOIN
 ( SELECT val, 
      value
   FROM this_table
   WHERE col2='test'
 ) this_table
ON source_table.val= this_table.val;

谢谢我试过这个,效果很好。我现在面临的问题是,我的where子句引用了另一个表-选择date、name、dt.value作为num_sloths_bunded_before FROM source_table,选择value FROM this_table.val=this_table.val和col2='test'dt;当我在评论中执行上述查询时,得到错误-[Amazon]500310无效操作:FROM中的子查询可能不会引用同一查询级别的其他关系@蒂莎:所以它实际上是相关的,我编辑了我的答案,现在它是一个左接缝,实际上我对此有另一个问题。它无法访问此_表,因为我使用的相关查询类似于-…从数据库中选择val。此_表x。。。。我在这里贴了一个新问题和我原来的问题,让它更清楚-