[英]use inner query query order sequence in outer query result
我有两张桌子-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
,但由于我无法访问表alpha
c
,因此我无法以所需的价格显示结果。
有什么方法可以在外部查询中使用内部查询顺序。 我无法更改任何一个表的结构。
您不必为了允许对行进行排序而更改表的结构,只需JOIN
表即可访问其他表中的列并保留ORDER
。
SELECT DISTINCT al.a, al.b
FROM alpha al
INNER JOIN Beta be
ON al.a = be.a
WHERE be. -- some condition
ORDER BY be.c DESC
子查询中的order by子句对您的方案没有任何影响。
您需要的不是联接查询框架,而是联接框架。 您需要使用一个公共字段来连接alpha和beta表,创建连接后,alpha和beta表中的所有列均可用,因此排序很容易。
我试图在联接框架中更改您的查询。 从alpha上的alpha内部连接beta中选择alpha.a,b。[somefield] = beta。[somefield] WHERE some_condition ORDER BY beta.c DESC;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.