![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
Ninazu |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 10.2.2013 Где: Киев Репутация: нет Всего: 1 |
Подскажите как более красиво и правильно можно написать этот запрос? Требуемой логики добился, но кажется мне, что можно как-то красивей. (Суть запроса. подставить в таблицу users вместо id, значения из states и cities и отфильтровать по всем столбцам условие) Для эксперимента пользуюсь этим
Это сообщение отредактировал(а) Ninazu - 31.7.2013, 20:26 |
||||
|
|||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 33 Всего: 161 |
Такое оформление мне кажется куда более красивым. ![]() О том как "правильно" знаете только вы. Но, исходя из того, что вы скрываемой вами "требуемой логики" уже добились, вопрос звучит странно. ![]() Это сообщение отредактировал(а) Zloxa - 1.8.2013, 12:41 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
Ninazu |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 10.2.2013 Где: Киев Репутация: нет Всего: 1 |
Насчет правильности логики это я поспешил)) LIKE находил до джоинов, заменил на HAVING норм стало)
Больше интересовала чистота кода. А капсом я просто привык отделять операторы от параметров. Насчёт CamelCase в FirstName и LastName согласен, лучше без него. Это сообщение отредактировал(а) Ninazu - 1.8.2013, 19:17 |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 33 Всего: 161 |
Ninazu, вы не поняли о чем я. Я больше о том, что внешний аспект это дело вкуса. А для того чтобы определить, что подозрения в том, что ваш запрос возвращает не то, что вы хотели запрашивать, нужно как минимум знать что же именно вы хотите вернуть и для каких целей. А уж если про оптимизацию говорить, так там вобще много всего знать надо, что осталось за рамками вашего пояснения.
В общем - описывайте цель а не отдельный шаг. Это сообщение отредактировал(а) Zloxa - 1.8.2013, 19:50 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
Ninazu |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 10.2.2013 Где: Киев Репутация: нет Всего: 1 |
user - хранит имя и фамилию, а также ключи к таблицам cities and states
cities - хранит названия городов states - хранит названия штатов Вывести таблицу с текстовой информацией в формате Имя, Фамилия, Город, Штат Это сообщение отредактировал(а) Ninazu - 1.8.2013, 20:11 |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 33 Всего: 161 |
Для решения этой задачи ни where ни like ни уж тем более having не нужны -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
Ninazu |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 10.2.2013 Где: Киев Репутация: нет Всего: 1 |
Для решения этой задачи ни where ни like ни уж тем более having не нужны
Можно взглянуть на решение без них? |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 33 Всего: 161 |
все то же самое тоолько без в верев и хавингов. В той постановке задачи, которую вы озвучили, фильтрации не предполагается. Добавлено через 1 минуту и 17 секунд Впрочем, пофиг. На тему забиваю. Толку тут не будет. Вытягивать клещами "А что ты вобще хочешь сдеалть", уже достало Добавлено через 9 минут и 24 секунды Лана, предприму еще попытку и спрошу прямо 1) Что вас не устраивает в приведенном вам запросе 2) Почему условие отбора такое странное? Что общего у людей с фамилией на букву "М" и людей, проживающих в городе на букву "М", чтобы объединять их в один набор. Это дейсвтительно странно. Так же странно как попросить жену "купи мне носки, ну или же кефир" -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
igorold |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: 5 Всего: 17 |
А почему так:
? Может так правильней будет:
? Этот ответ добавлен с нового Винграда - http://vingrad.com |
||||
|
|||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 33 Всего: 161 |
эквивалентно же )) Немного не поансишному, конечно, но вполне себе на диалекте. У маси, я так понимаю, inner join без on кляузы являет суть cross join. Так же как ты написал не правильнее, просто лишь красивее, читабельнее. Оптимизатор, если не запутается, должен бы привести к одному плану. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |