我有两张桌子 - ALPHA& BETA。我在BETA上使用查询结果来查询ALPHA上的外部查询。
SELECT a,b
FROM alpha
WHERE a IN(
SELECT a
FROM beta
WHERE some_condition
ORDER BY c DESC
);
现在我的问题是我需要在最终结果中维护DESC ORDER
,但由于我无法访问表c
中的alpha
,我无法显示结果在期望的oder。
有没有办法在外部查询中使用内部查询顺序序列。我不能改变任何一个表的结构。
答案 0 :(得分:1)
您不必更改表的结构只是为了允许对行进行排序,您只需要JOIN
表,这样您就可以访问另一个表中的列并保留{{1 }}
ORDER
答案 1 :(得分:0)
子查询中的order by子句不会对您的场景产生任何影响。
您需要的是连接框架,而不是子查询框架。您需要使用公共字段加入alpha和beta表,在创建连接后,alpha和beta表中的所有列都可用,然后排序很容易。
我试图在连接框架中更改您的查询。 SELECT alpha.a,b 来自alpha内部加入beta alpha。[somefield] = beta。[somefield] 在某些条件下 ORDER BY beta.c DESC;