#ms-access
#ms-access
Вопрос:
Я хочу сохранить результат в переменной, сгенерированной с помощью предложения «AS» в MS Access, и использовать этот результат в подзапросе с предложением 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;
Ответ №1:
Я совершенно уверен, что вы не можете использовать псевдоним (назначение AS) в том же SELECT, в котором вы его определили.
Я не могу точно сказать, что вы пытаетесь сделать, но похоже, что вы хотите присоединить таблицу к самой себе.
Комментарии:
1. В Access (ACE, Jet, что угодно) можно использовать
AS
предложение в том жеSELECT
предложении в той же области, в которой оно определено, напримерSELECT 2 AS two, two two AS four;
, является законным (странно, хотя не может использоваться вORDER BY
предложении).
Ответ №2:
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
Ответ №3:
select m.en_date date_en, sum(m.amount)
from main m
where CrDb = 'Cr'
group by m.en_date
Другими словами, я не думаю, что вам даже нужен подзапрос, чтобы получить результаты, которые вы ищете.