Задавайте вопросы, мы ответим
Вы не зашли.
Подскажите пожалуйста, как правильно написать запрос.
Нужно Залишок_PS из первого запроса умножить на курс валют в зависимости от валюты из второго запроса.
То есть я вывожу колонку остатка долга в еквиваленте (ОстатокНачальная сума-погашения)*курс валют).
1)SELECT Залишок_PS, ID
FROM
(SELECT ID AS ID2, SUM(T_PS) AS Залишок_PS FROM (SELECT ID, Telo_val AS T_PS FROM Портфелі
UNION ALL
SELECT ID AS ID2, - Tilo_val AS T_PS FROM Погашення WHERE Дата>=#29-06-2016#)
GROUP BY ID),
Портфелі, Курс_валют
WHERE ID=ID2)
2)SELECT ID, Val, IIF (Val='USD',Таблица1.SUMA*Курс_валют.USD, IIF (Val='EUR', Таблица1.SUMA*Курс_валют.EUR, Таблица1.SUMA*Курс_валют.UAH)) AS EKV
FROM Таблица1, Курс_валют;
Отредактированно Starske (08.07.2016 11:55:25)
Неактивен
В общем случае, конечно, FAQ#11, но можно ответить из общих соображений.
Будет что-то такое:
Неактивен
Спасибо, я что то в этом роде написал, но интересно и хочу написать с использованием IIF или CASE при выборе валюты.
Отдельно 2 запроса написал, 1 выводит остаток с учетом погашений, а второй выводит остаток с учетом валюты долга, а как об'єденить их незнаю, хотя понимаю что можно.
Это я написал с помощю UNION ALL
SELECT FC, ID, Val, Telo_val, Залишок_PS*Курс_валют.USD AS Еквівалент_PS
FROM
(SELECT ID AS ID2, SUM(T_PS) AS Залишок_PS FROM (SELECT ID, Telo_val AS T_PS FROM Портфелі
UNION ALL
SELECT ID, - Tilo_val AS T_PS FROM Погашення WHERE Дата>=[на яку дату ?])
GROUP BY ID),
Портфелі, Курс_валют
WHERE ID=ID2 AND Портфелі.Val='USD'
UNION ALL
SELECT FC, ID, Val, Telo_val, Залишок_PS*Курс_валют.UAH AS Еквівалент_PS
FROM
(SELECT ID AS ID2, SUM(T_PS) AS Залишок_PS FROM (SELECT ID, Telo_val AS T_PS FROM Портфелі
UNION ALL
SELECT ID, - Tilo_val AS T_PS FROM Погашення WHERE Дата>=[на яку дату ?])
GROUP BY ID),
Портфелі, Курс_валют
WHERE ID=ID2 AND Портфелі.Val='UAH'
UNION ALL
SELECT FC, ID, Val, Telo_val, Залишок_PS*Курс_валют.EUR AS Еквівалент_PS
FROM
(SELECT ID AS ID2, SUM(T_PS) AS Залишок_PS FROM (SELECT ID, Telo_val AS T_PS FROM Портфелі
UNION ALL
SELECT ID, - Tilo_val AS T_PS FROM Погашення WHERE Дата>=[на яку дату ?])
GROUP BY ID),
Портфелі, Курс_валют
WHERE ID=ID2 AND Портфелі.Val='EUR'
Отредактированно Starske (11.07.2016 14:50:03)
Неактивен