2012-06-11 2 views
0

Может ли SQL-запрос Teradata делать автоматическое увеличение? возможноЗапрос на увеличение числа запросов Teradata

Я ищу что-то похожее на

SELECT 
    Date (Auto-Increment by 1 over Column 2), 
    Column 2, 
    Column 3 
FROM Fake_Table 
GROUP BY 1,2,3 

И получить что-то такое, как

Date  Column 2 Column 3 
2012-06-11 A   A 
2012-06-11 A   B 
2012-06-11 A   C 
2012-06-12 B   A 
2012-06-13 C   B 

ли это?

ответ

2

Вы должны иметь возможность использовать агрегирование окна ROW_NUMBER() с инструкцией PARTITION BY и ORDER BY, чтобы предоставить вам начальное значение для добавления в DATE.

Псевдо-код:

SELECT 
    CURRENT_DATE + ROW_NUMBER() OVER(PARTITION BY Column2, 
            ORDER BY Column2)  AS MyDate 
    Column2, 
    Column3 
FROM Fake_Table 
GROUP BY 1,2,3 
+0

Это помощь, однако, есть ли способ, чтобы заставить приращение идти до предела? Значение: дата увеличивается до сентября, но я хочу заставить ее пройти весь путь до декабря. – Overseer10

+1

Что делать, если вы введете в запрос запрос SYS_CALENDAR.Calendar, чтобы указать, с какими 12 месяцами даты работать. –

Смежные вопросы