Выборка MYSQL по условию из связной таблицы (YII2)

213
15 марта 2018, 10:56

Добрый день, помогите сделать выборку между связующими таблицами, к примеру есть две таблицы

tab1
project_id our_deposit
1           100
2           80
3           0     
tab2
id project_id amount
1      1        10
2      1        20
3      2        15
4      1        25

tab1 таблица с проетами и tab2 таблица с суммой выплат от вклада.

нужно выборкой получить проекты у которых сумма выплат к примеру больше 30 % ?

к примеру по 1 проекту мы вложили 100$ а получили tab2(10+20+25 = 55$) т.е получается 55$*100% / 100 = 55% то есть первый проект у нас попадает под это условие как правильно сделать выборку чтобы получить все проекты которые попадают под мои условия ?

PS использую yii2 но это не важно главное понять как сделать правильно выборку

Answer 1

Обычный HAVING с группировкой по проекту

SELECT
  tab1.project_id
FROM
  tab1
  JOIN tab2 ON (
    tab1.project_id = tab2.project_id
  )
GROUP BY
  tab1.project_id
HAVING
  SUM(tab2.amount) >= 0.3 * tab1.our_deposit
READ ALSO
Ajax и php, обработка формы

Ajax и php, обработка формы

Создаю функцию call() с ajax запросом

204
Где лучше возвращать ошибку 404 в yii2

Где лучше возвращать ошибку 404 в yii2

В приложении в контроллере user есть несколько экшнов, каждый из которых получает из запроса параметр user_id и по нему ищет пользователя в бдОтсюда...

226
Не меняется версия PHP в PhpStorm

Не меняется версия PHP в PhpStorm

Создаю проект в PhpStorm, выбираю интерпретатор Php 72

220