Сложный запрос SQL (объединение таблиц)

212
16 сентября 2018, 08:50

Есть 3 таблицы:

  1. FIRM: | id | title |

  2. OFFICE: | id | title | firm_id | city_id |

  3. CITY: | id | title |

Как достать title всех FIRM, чьи OFFICE есть в CITY по CITY.id?

Answer 1

Выберем FIRM.title по указанному значению CITY.id, присоединив таблички FIRM и OFFICE по совпадению ключей, а также сгруппировав результат по FIRM.id, заодно избавившись тем самым от дубликатов:

SELECT FIRM.title FROM CITY 
        LEFT JOIN OFFICE ON OFFICE.city_id = CITY.id 
        LEFT JOIN FIRM ON OFFICE.firm_id = FIRM.id 
    WHERE CITY.id = 1 
GROUP BY FIRM.id;
Answer 2
select f.title from firm f inner join office o on o.firm_id = f.id where o.city_id = 1

Или, при необходимости

select distinct f.title from firm f inner join office o on o.firm_id = f.id where o.city_id = 1
READ ALSO
проблема с подсчетом

проблема с подсчетом

Должно показывать 0 сообщений, а показывает 6, хотя у всех сообщений флаг read = 1, тоесть они прочтеныВ чем беда?)

241
как склеить 2 столбца в таблице в 1 mysql

как склеить 2 столбца в таблице в 1 mysql

Имеется Таблица My_TABLE, поля street(LONGTEXT),house(LONGTEXT), пытаюсь в этой ж таблице создать столбец address на основе 2х вышеперечисленныхНо не выходит

201
Ruby on rails Проблема с установкой гема mysql2

Ruby on rails Проблема с установкой гема mysql2

Выдает вот такую ошибку :

217
Кроссбраузерность HTML

Кроссбраузерность HTML

Делаю сайт, у меня в браузере было все ок, но когда я решил добавить блок с 4 картинками (код приложил) в Яндекс Браузере и IE они отображаются...

263