Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2014, 11:43   #11
supermike
Пользователь
 
Регистрация: 13.09.2013
Сообщений: 13
По умолчанию

Думаете будет выполняться быстрее, чем решение от Аватара? В любом случае здесь вытянутся все 90 тысяч строк и только потом будет производится отбор, а в варианте c LEFT JOIN вытягиваются только нужные строки. Получается если записей будет, например, 200к, то сервер упадет. Как считаете?
supermike вне форума Ответить с цитированием
Старый 30.11.2014, 11:51   #12
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,774
По умолчанию

Что-то я тогда не понял вопроса. Что тогда мешает просто вписать нужный where прямо в исходный запрос?
Vapaamies вне форума Ответить с цитированием
Старый 30.11.2014, 14:45   #13
supermike
Пользователь
 
Регистрация: 13.09.2013
Сообщений: 13
По умолчанию

Так?
Цитата:
select
c.id, c.pagetitle,
min(case when v.tmplvarid = 5 then v.value end) color,
min(case when v.tmplvarid = 6 then v.value end) inches
from
modx_site_content c,
modx_site_tmplvar_contentvalues v
where
v.content_id = c.id
AND color = "gray"
group by
c.id, c.pagetitle;
Говорит color не существует. Ведь это просто наш лейбл...
Или в условие min( ... ) color?

Последний раз редактировалось supermike; 30.11.2014 в 14:47.
supermike вне форума Ответить с цитированием
Старый 30.11.2014, 20:51   #14
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,774
По умолчанию

Цитата:
Сообщение от supermike Посмотреть сообщение
Говорит color не существует.
Так правильно, на этом уровне он еще не существует. Если запрос оставить в текущем виде, отборы придется писать явно, вручную раскрывая "макроопределение":
Код:
where
  v.tmplvarid = 5 and v.value = 'gray'
Vapaamies вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать запрос к MySQL не зная префикс таблиц? tim21701 БД в Delphi 6 29.01.2012 07:44
Направьте в нужное русло. Сравнение двух больших таблиц Excel hijke Microsoft Office Excel 6 05.05.2011 13:24
Объединение 2-х таблиц newStudent SQL, базы данных 2 21.04.2011 19:37
Как правилно составить запрос из несколких таблиц или запросов Rebbit Microsoft Office Access 1 25.07.2010 18:49
Как оптимизировать запрос MySQL с выборкой из двух таблиц. Johnatan SQL, базы данных 6 13.04.2008 03:10