在外部查询结果中使用内部查询查询顺序序列

时间:2013-09-04 07:55:44

标签: mysql

我有两张桌子 - 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。

有没有办法在外部查询中使用内部查询顺序序列。我不能改变任何一个表的结构。

2 个答案:

答案 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;