powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA - 00933
7 сообщений из 7, страница 1 из 1
ORA - 00933
    #40000794
nachPro___23-3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблицы: pm.t1, bittl.t2, pm.t3 (да, они в разных схемах)
Мне нужно связать эти 3 таблицы
pm.t1 имеет поле server_id (и нужно вытащить budget)
bittl.t2 имеет поля server_id и street_id
pm.t3 имеет поле street_id (и нужно вытащить create_date ниже опишу для чего)

Мне нужно связать эти таблицы и вычислить сумму "budget" по каждому street_id за август 2020 года

Пример сделал, ну что то неправильно написал, объясните кто-нибудь ошибку.

======================================
select SUM(w.budget), w.server_id, w.street_id
from (
select budget, server_id, street_id
from pm.t1 a, bittl.t2 b, pm.t3 c
where a.server_id = b.server_id
and b.street_Id = c.street_id
and c.create_date between '01.09.2002' and '15.09.2020'
) AS w
group by w.server_id
...
Рейтинг: 0 / 0
ORA - 00933
    #40000798
Фотография Anton_Demin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nachPro___23-3,

Код: plsql
1.
Group by w.server_id, w.street_id
...
Рейтинг: 0 / 0
ORA - 00933
    #40000804
nachPro___23-3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anton_Demin,
Делал, все равно ругается "comand not properly ended"
Не закончилась должным образом
...
Рейтинг: 0 / 0
ORA - 00933
    #40000807
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nachPro___23-3
AS
...
Рейтинг: 0 / 0
ORA - 00933
    #40000808
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nachPro___23-3
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select SUM(w.budget), w.server_id, w.street_id
from (
select budget, server_id, street_id 
  from pm.t1 a, bittl.t2 b, pm.t3 c
 where a.server_id = b.server_id
   and b.street_Id = c.street_id
   and c.create_date between '01.09.2002' and '15.09.2020'
) AS w
group by w.server_id


В этом запросе печально всё

  • Поля без алиасов
  • Группировка по одному полю, при отсутствии агрегата по оставшемуся
  • Неявное приведение строки в дату если create_date типа date, либо ещё более печальное хранение дат в строке неудобного для неравенства формата
...
Рейтинг: 0 / 0
ORA - 00933
    #40000809
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nachPro___23-3
Есть таблицы: pm.t1, bittl.t2, pm.t3 (да, они в разных схемах)
Мне нужно связать эти 3 таблицы
pm.t1 имеет поле server_id (и нужно вытащить budget)
bittl.t2 имеет поля server_id и street_id
pm.t3 имеет поле street_id (и нужно вытащить create_date ниже опишу для чего)

Мне нужно связать эти таблицы и вычислить сумму "budget" по каждому street_id за август 2020 года

Пример сделал, ну что то неправильно написал, объясните кто-нибудь ошибку.

======================================
select SUM(w.budget), w.server_id, w.street_id
from (
select budget, server_id, street_id
from pm.t1 a, bittl.t2 b, pm.t3 c
where a.server_id = b.server_id
and b.street_Id = c.street_id
and c.create_date between '01.09.2002' and '15.09.2020'
) AS w
group by w.server_id


0) select budget, a. server_id, b. street_id
1) за август 2020 года (between '01.09.2002' and '15.09.2020' не за месяц)
and c.create_date >=date '2020-08-01' and c.create_date < date '2020-09-01'
2) по каждому street_id
group by b.street_Id

ps
подзапрос не нужен
сразу
select b.street_Id,SUM(budget) sum_budget from ...

....
stax
...
Рейтинг: 0 / 0
ORA - 00933
    #40000810
Фотография Anton_Demin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nachPro___23-3,

Код: plsql
1.
select budget, server_id, street_id


расставь алиасы перед полями

Код: plsql
1.
and c.create_date between '01.09.2002' and '15.09.2020'


сделай нормальное преобразование в даты.

====================
P.S. Тестируй по частям, сначала базовый запрос, потом с group by
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA - 00933
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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