![]() |
|
Модераторы: skyboy |
![]()
|
|
| Gugle |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 9.12.2005 Репутация: нет Всего: нет |
Доброго времени суток!
Помогите разобраться с конструкцией LEFT JOIN в MySQL запросах. Опишу сначало задание. 1.Из таблиц notice, geo и adm_info показать только те записи в которых имеются совпадения по ключам notice.ntc_id=geo.ntc_id и notice.adm=adm_info.adm. 2.Но при этом не показывать те ntc_id для которых не выполняется условие в таблице freq.max>20 и freq.min<10. Связь notice.ntc_id осуществляется след образом: Полученные значения notice.ntc_id сравниваем со значениями s_beam.ntc_id и достаем достаем s_beam.beam_name и s_beam.emi_rcp. Полученные 3 значения сравниваем со след таблицей grp.ntc_id=ntc_id AND grp.s_beam=s_beam AND grp.emi_rcp и достаем следующее поле - grp.grp_id. Теперь полученные 4 значения надо сравнить с таблицей freq и вытащить все значения freq.min и freq.max, а потом сравнить их с диаппазоном от 10 до 20. Я решаю данную задачу с помощью "временных" таблиц, но вроде как с помощью LEFT JOIN она должна решаться быстрее, а вот как сделать этот запрос не могу понять. Вот мой запрос:
Теперь сами таблици:
По первому пункту должно вывести: 1 R 2 R 4 G А если ввести второй параметр то останется только одна запись: 1 R Помогите разобраться как составить этот запрос с помощью LEFT JOIN. Заранее благодарен! |
||||
|
|||||
| Magnifico |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 23.1.2008 Где: Московская област ь Репутация: 4 Всего: 17 |
это ж надо создать все твои таблицы ,заполнить, подумать
скриты готовые давай!!! -------------------- Всё в порядке - спасибо зарядке ! |
|||
|
||||
| Gugle |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 9.12.2005 Репутация: нет Всего: нет |
Эээ.. У меня готовые таблици.
попробую по другому задать пример. А можно какой нить простой примерчик как от структуры:
перейти к left join. |
|||
|
||||
| Magnifico |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 23.1.2008 Где: Московская област ь Репутация: 4 Всего: 17 |
-------------------- Всё в порядке - спасибо зарядке ! |
||||
|
|||||
| Gugle |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 9.12.2005 Репутация: нет Всего: нет |
Спасибки.
Буду ковырять. Пока сниму вопрос с обсуждения. Добавлено через 9 минут и 25 секунд Из "Справочное руководство по MySQL"
Как это? |
|||
|
||||
| Gugle |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 9.12.2005 Репутация: нет Всего: нет |
Ээээ...
Из примера от Magnifico, по поводу фильтра. Если mysql не находит совпадений значения t1.name1 в таблице t2.name2 он создает это значение с null параметром?!? И соответственно это ответ на мой предидущий вопрос. Но веть если у мя больше таблиц их отсеивать придется. Чет тогда не понимаю зачем нужен left join если он доп строки генерит. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |