[英]SQL: Subquery? Pulling column using condition
当前的 SQL 代码是:
SELECT k.id, k.symbol, y.close, y.volume,
((y.close / y.close_adj_previous_day)-1) AS percent_change
FROM symbols k
JOIN stocks y ON k.id = y.id
WHERE
k.t_removed = 0
AND t = '$max_t'
ORDER BY percent_change DESC
LIMIT 10
试图获得 close_adj_previous_day。 目前我使用另一个查询来获取 close_adj_previous 一天:
SELECT k.close_adj AS close_adj_previous_day
FROM stocks k
WHERE
k.id = '$id'
AND k.t = '$max_t_minus_one'
LIMIT 1
我将如何组合这些查询,以将结果排序为顶级查询? 谢谢伙计们/女孩们。
表中的半示例:
如果您有变量,请使用join
:您在变量中有前一天的值。 您可以只使用join
:
SELECT k.id, k.symbol, y.close, y.volume,
((y.close / yprev.close)-1) AS percent_change,
yprev.close_adj AS close_adj_previous_day
FROM symbols k JOIN
stocks y
ON k.id = y.id AND y.t = '$max_t' JOIN
stocks yprev
ON k.id = yprev.id and yprev.t = '$max_t_minus_one'
WHERE k.t_removed = 0
ORDER BY percent_change DESC
LIMIT 10
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.