Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Добрый день!
Есть 2 таблицы:
data и reg
Пишу простой запрос по одной таблице - все работает:
SELECT
"CD_REG",
"STAT_DATE",
SUM ("SHT_OUT") as "SHT_OUT",
SUM ("RUB_OUT") as "RUB_OUT",
FROM "data"
WHERE "STAT_DATE" >= '2023-09-01' AND ("CD_REG" = 1000000 OR "CD_REG" = 1025000)
GROUP BY "CD_REG", "STAT_DATE"
как только добавляю JOIN, запрос ругается, но я не понимаю почему
SELECT
"CD_REG",
"STAT_DATE",
SUM ("SHT_OUT") as "SHT_OUT",
SUM ("RUB_OUT") as "RUB_OUT",
SUM ("RUB_IN") as "RUB_IN"
FROM "data"
JOIN "reg" ON "data"."CD_REG" = "reg"."CD_REG"
WHERE "STAT_DATE" >= '2023-09-01' AND ("CD_REG" = 1000000 OR "CD_REG" = 1025000)
GROUP BY "CD_REG", "STAT_DATE"
ERROR: column reference "CD_REG" is ambiguous
Позиция: 10
Позиция ошибки: line: 2 pos: 9
Пробую с кавычками, без кавычек, но всё не то! Что не так?
Отредактированно pani (16.11.2023 09:36:33)
Неактивен
Из текста ошибки следует, что колонка CD_REG есть в двух таблицах. В области SELECT необходимо указать из какой таблицы взять колонку.
Неактивен
Да, так запрос отработал! Спасибо огромное!
SELECT
"data"."CD_REG",
"STAT_DATE",
SUM ("SHT_OUT") as "SHT_OUT",
SUM ("RUB_OUT") as "RUB_OUT",
SUM ("RUB_IN") as "RUB_IN"
FROM "data"
JOIN "reg" ON "data"."CD_REG" = "reg"."CD_REG"
WHERE "STAT_DATE" >= '2023-09-01' AND ("data"."CD_REG" = 1000000 OR "data"."CD_REG" = 1025000)
GROUP BY "data"."CD_REG", "STAT_DATE"
Только я предполагала, что в результате я получу дополнительные столбцы из таблицы reg, а получила тоже самое, что и без join... Что я сделала не так?
Неактивен
Нужно перечислить в часть SELECT те столбцы, которые нужны.
Если нужны все столбцы из таблицы reg, то можно
SELECT reg.*, data.CD_REG, ...
Неактивен
Мои благодарности до луны и обратно!!!
SELECT
"data"."CD_REG",
"STAT_DATE",
"reg"."NM_REG",
SUM ("SHT_OUT") as "SHT_OUT",
SUM ("RUB_OUT") as "RUB_OUT",
SUM ("RUB_IN") as "RUB_IN"
FROM "data"
JOIN "reg" ON "data"."CD_REG" = "reg"."CD_REG"
WHERE "STAT_DATE" >= '2023-09-01' AND ("data"."CD_REG" = 1000000 OR "data"."CD_REG" = 1025000)
GROUP BY "data"."CD_REG", "STAT_DATE", "reg"."NM_REG"
Неактивен
Страниц: 1