powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Помогите с запросом....
4 сообщений из 4, страница 1 из 1
Помогите с запросом....
    #32160047
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут такая проблема...
Имеется "Table" с полями:
IND --Индекс страны
Vol --Объем товара из этой страны
Date --Дата перевозки этих товаров.

Необходимо вывести отчет в такой форме:
IND Vol Vol1

где Vol и Vol1 за текущий и предыдущий год соответственно.

Я пытался делать это так:
WITH Pred AS
(SELECT IND AS PIND, Vol AS PVol
FROM Table
WHERE Date=Предыдущий год)
SELECT IND,
Vol,
CASE WHEN IND=PIND THEN PVol ELSE 0 END AS Vol1
FROM Table
WHERE Date=Текущий год
Результат выглядит примерно так:
IND-----Vol-----Vol1
12-------2-------0
12-------2-------3
Нужно чтобы первая строка и аналогичные ей не выводились. Подскажите пожалуйста как это сделать. Спасибо.
...
Рейтинг: 0 / 0
Помогите с запросом....
    #32160129
а если попробовать так:

Код: plaintext
1.
2.
3.
select a.ind,b.vol as Pvol, c.vol as Cvol
from ((Table a left join Table b on a.ind=b.ind) 
         left join Table c on a.ind=c.ind)
where b.Date=PrevDate and c.Date=CurrDate;
...
Рейтинг: 0 / 0
Помогите с запросом....
    #32160160
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select
ind,
sum (case where year(date) = <текущий год> then vol else 0 end) as vol,
sum (case where year(date) = <предыдущий год> then vol else 0 end) as vol1
from table
where
date between <начало предыдущего года> and <конц текущего года>
group by ind
...
Рейтинг: 0 / 0
Помогите с запросом....
    #32161195
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо ответившим. Подошел первый пример, но с небольшой модификацией:

WITH Pred AS
(SELECT Table.IND AS P_IND,
Table.Vol AS P_Vol,
FROM Table
WHERE Table.Date=<Предыдущая дата>)

SELECT Table.IND,
Table.Vol,
P_Vol
FROM Table LEFT OUTER JOIN Pred ON Table.IND=P_IND
WHERE Table.Date=<Текущая дата>
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Помогите с запросом....
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]