Sql 无法为完整外部联接的给定查询设计查询计划
这个查询有什么问题? 我试图在红移上执行给定的查询,但我得到错误,无法获得查询计划 我的问题是这样的: 从a1中选择不同的x、y、a2.z 完全外部连接选择1=1上a1 a2的不同zSql 无法为完整外部联接的给定查询设计查询计划,sql,join,amazon-redshift,Sql,Join,Amazon Redshift,这个查询有什么问题? 我试图在红移上执行给定的查询,但我得到错误,无法获得查询计划 我的问题是这样的: 从a1中选择不同的x、y、a2.z 完全外部连接选择1=1上a1 a2的不同z 还有一件事,我可以使用交叉连接而不是完全外部连接,因为我没有连接谓词或where子句 我对Amazon redshift一无所知,但它的语义与原始查询相同,而且更清晰,因此请查看它是否可以为此制定计划 SELECT xy.x, xy.y, z.z FROM (SELECT DISTI
还有一件事,我可以使用交叉连接而不是完全外部连接,因为我没有连接谓词或where子句 我对Amazon redshift一无所知,但它的语义与原始查询相同,而且更清晰,因此请查看它是否可以为此制定计划
SELECT xy.x,
xy.y,
z.z
FROM (SELECT DISTINCT x,
y
FROM a1) xy
CROSS JOIN (SELECT DISTINCT z
FROM a1) z
选择一个服务器产品,而不是4个。please.cross join如果其中一个输入为空,那么它就不一样了。实际上,这是因为它们都是a1,所以不可能一边为空,另一边为行。在这种情况下,cross join和完全外部联接之间没有区别吗?正确吗?是的-在这个特定场景中,如果是交叉连接B而不是1=1上的完全连接B,那么如果其中只有一个是空的,那么它们的行为会有所不同,但这不适用于这里!我试试这个。非常感谢。