powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Нужна помощь с запросом
5 сообщений из 5, страница 1 из 1
Нужна помощь с запросом
    #40055461
Mr.Crause
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть три таблицы:

TM
ididtmnametm21отдел 1311 гараж 1412гараж 252отдел 2621гараж 3722гараж 4

XK
Кодidtmxk111121213212422

RM
Кодidtmprice1125002125003211000421100052110006211000722800831600

В TM хранится иерархия объектов, в XK связь id конкретного объекта с объектом верхнего уровня, в RM цены по конкретным объектам.

Необходимо получить сумму по объектам, но собрать ее на объекте верхнего уровня с его названием.

Имеем запрос:

Код: sql
1.
2.
3.
SELECT tm.nametm, xk.xk, Sum(rm.price) AS [Sum-price]
FROM (tm INNER JOIN xk ON tm.idtm = xk.idtm) INNER JOIN rm ON tm.idtm = rm.idtm
GROUP BY tm.nametm, xk.xk;



nametmxkSum-priceгараж 211000гараж 324000гараж 42 800

Он как и ожидалось выводит сумму по конкретным объектам.

Если изменить запрос вот так:

Код: sql
1.
2.
3.
SELECT xk.xk, Sum(rm.price) AS [Sum-price]
FROM (tm INNER JOIN xk ON tm.idtm = xk.idtm) INNER JOIN rm ON tm.idtm = rm.idtm
GROUP BY xk.xk;



, то он соберет данные как надо
xkSum-price1100024800
, но имя объекта, естественно, не подтянет.

Не могу сообразить как теперь по полю xk подтянуть соответственное название из таблицы TM, чтобы было вот так:
xkSum-pricenametm11000отдел 124800отдел 2
...
Рейтинг: 0 / 0
Нужна помощь с запросом
    #40055482
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr.Crause,
Подача условия задачи так себе. Нейминг тоже: то id, то Код. Таблица XK и тут же поле xk.

XK
Код idtm xk1 11 12 12 13 21 24 2 2В строчке c Код = 4, вероятно, idtm = 22, а не 2?

Так а что мешает в последнем запросе сделать джойн ON xk.xk = tm.idtm?
...
Рейтинг: 0 / 0
Нужна помощь с запросом
    #40055488
Mr.Crause
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99
Mr.Crause,
Подача условия задачи так себе. Нейминг тоже: то id, то Код. Таблица XK и тут же поле xk.

XK
Код idtm xk1 11 12 12 13 21 24 2 2
В строчке c Код = 4, вероятно, idtm = 22, а не 2?

Да, ошибка :(
Gluck99
Так а что мешает в последнем запросе сделать джойн ON xk.xk = tm.idtm?

Не могу понять откуда джойнить, вроде уже все собрал. В двух соснах заблудился. Голова кругом.
...
Рейтинг: 0 / 0
Нужна помощь с запросом
    #40056292
Mr.Crause
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
SELECT  xk.xk, Sum(rm.price) AS [Sum-price], tm.nametm
FROM (rm inner JOIN xk ON rm.idtm = xk.idtm) inner JOIN tm ON xk.xk = tm.idtm
GROUP BY xk.xk,tm.nametm
...
Рейтинг: 0 / 0
Нужна помощь с запросом
    #40056337
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr.Crause
Код: sql
1.
[Sum-price]

А у вас точно MySQL ?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Нужна помощь с запросом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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