@Richard_Ferlow
Веб-программист

Как управляться с join запросами?

Суть такая, есть таблица с записями заявок.
И есть таблица связанная с подзаявками. т.е. у одной заявки может быть несколько подзаявок и каждая со своей стоимостью.

допустим таблица заявок
id|name

подзаявки
id|zayavkaid|name|price

у нас есть одна заявка и две подзаявки
если делать join и с ON zayavka.id = podzayavka.zayavkaid то получим два результата в выдаче.

а нужно в одном результате чтобы среди данных было - значение name первой подзаявки и сумму price обеих строк
  • Вопрос задан
  • 130 просмотров
Пригласить эксперта
Ответы на вопрос 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега MySQL
Казалось бы, это можно сделать так:
SELECT name, SUM(price) FROM subrequests GROUP BY request_id

Но в поле name в данном случае придет название любой из сгруппированных строк. Рассчитывать на то, что здесь будет название именно первой строки нельзя.
Вообще, неясно что значит "первой подзаявки" - с меньшим ID?
Ответ написан
@skvot
UPD. Упустил момент про первую подзаявку.

SELECT s.`name`, SUM(s.`price`)
FROM `claim` c
LEFT JOIN `subclaim` s
ON c.`id` = s.`zayavkaid`
GROUP BY s.`id`


P.S.
Не стоит называть поля транслитом
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы