在子查询中使用“AS”子句而不是包含“WHERE”子句

时间:2011-09-28 18:13:01

标签: ms-access

我想将结果存储在MS Access中使用“AS”子句生成的变量中, 并在带有WHERE子句的子查询中使用此结果。

我试过了:

SELECT en_date AS date_en, (select sum(amount) 
  from main where
    CrDb='Cr'
  and
    en_date=date_en) AS CR_AMT
FROM main
GROUP BY en_date;

3 个答案:

答案 0 :(得分:0)

select m.en_date date_en, sum(m.amount)
from main m
where CrDb = 'Cr'
group by m.en_date 

换句话说,我不认为你甚至需要一个子查询来获得你想要的结果。

答案 1 :(得分:0)

我很确定你不能在你定义的同一个SELECT中使用别名(AS目的地)。

我无法确切地说出你想要做什么,但看起来你想要加入桌子本身。

答案 2 :(得分:0)

SELECT
    en_date,
    SUM(amount)
FROM
    main a
INNER JOIN
(
    SELECT
        en_date AS date_en,
        CrDb
    FROM
        main 
    WHERE
        CrDb='Cr'
)b
ON
    a.en_date = b.date_en
    AND a.CrDb = b.CrDb
GROUP BY
    en_date