使用子查询中的值

时间:2014-01-28 04:05:14

标签: sql select subquery

我在SELECT子句中有一个子查询

SELECT a, b, (SELECT count(*) FROM X) AS Total, Total / 2
FROM Y
WHERE ... ;

错误显示“无效的列名称总计”。

如何将子查询的结果存储在名为“Total”的变量中,这样我就不需要重复我的子查询

2 个答案:

答案 0 :(得分:0)

您无法在同一查询中使用聚合函数的结果。您需要编写外部查询以进一步评估聚合函数的结果。

您可以尝试以下操作:

select a,b,Total / 2 FROM
(
SELECT a, b, (SELECT count(*) FROM X) AS Total
FROM Y
WHERE ... ) As FinalTable

答案 1 :(得分:0)

将其包装在另一个查询中:

SELECT a, b, Total, Total / 2 FROM (
  SELECT a, b, (SELECT count(*) FROM X) AS Total
  FROM Y
  WHERE ...) Z