TERADATA DATABASE
Когда я выполняю левое соединение, я получаю больше строк, возвращаемых. Моя базовая популяция в моей изменчивой таблице составляет 559 157 строк. И я пытаюсь получить только 559 157 строк из возврата базового населения. Но после выполнения этого запроса:
SELECT distinct a.*, b.column1, b.column2, b.column3, b.column4, b.column5, b.column6, c.column3, SUM(c.column3) AS Total_Column3_Profit, AVG(c.column3) AS Column3_Profit_Average
,CASE
WHEN b.column5 < a.column6 1
ELSE 0
END as column_open_flag
,CASE
WHEN a.column4 < 580 THEN 1
WHEN a.column4 between 580 and 619 THEN 2
WHEN a.column4 between 620 and 639 THEN 3
WHEN a.column4 between 640 and 659 THEN 4
WHEN a.column4 between 660 and 679 THEN 5
WHEN a.column4 between 680 and 699 THEN 6
WHEN a.column4 between 700 and 739 THEN 7
WHEN a.column4 >= 740 THEN 8
ELSE 0
END as column4_band
FROM volatile_table1 a
LEFT JOIN database_table1 b
ON a.column1 = b.column0
LEFT JOIN volatile_table2 c
ON a.column1 = c.column2
GROUP BY a.column1
,a.column2
,a.column3
,a.column4
,a.column5
,a.column6
,b.column1
,b.column2
,b.column3
,b.column4
,b.column5
,b.column6
,c.column3
я возвращаю более 2000000 строк. Итак, я хотел попробовать предложение UNION. Вот мой обновленный запрос:
SELECT a.column1, a.column2, a.column3, a.column4, a.column5, a.column6
,CASE
WHEN b.column5 < a.column6 1
ELSE 0
END as column_open_flag,
CASE
WHEN a.column4 < 580 THEN 1
WHEN a.column4 between 580 and 619 THEN 2
WHEN a.column4 between 620 and 639 THEN 3
WHEN a.column4 between 640 and 659 THEN 4
WHEN a.column4 between 660 and 679 THEN 5
WHEN a.column4 between 680 and 699 THEN 6
WHEN a.column4 between 700 and 739 THEN 7
WHEN a.column4 >= 740 THEN 8
ELSE 0
END as column4_band
FROM volatile_table1 a
UNION
SELECT b.column1, b.column2, b.column3, b.column4, b.column5, b.column6
FROM database_table1 b
UNION
SELECT c.column3, SUM(c.column3) AS Total_Column3_Profit, AVG(c.column3) AS Column3_Profit_Average
FROM volatile_table2 c
GROUP BY a.column1
,a.column2
,a.column3
,a.column4
,a.column5
,a.column6
,b.column1
,b.column2
,b.column3
,b.column4
,b.column5
,b.column6
,c.column3
Теперь я все время получаю ошибку 3807: Объект «a» не существует. Я выполнил запрос
HELP volatile table
, и он говорит, что обе изменчивые таблицы существуют. Может ли кто-нибудь указать мне направление моей ошибки? (Я также попытался удалить первый оператор case, который относится к b.column5