Помогите оптимизировать SQL запрос

  • Автор теми Автор теми Explore
  • Дата створення Дата створення
Статус: Офлайн
Реєстрація: 02.07.2009
Повідом.: 95
Помогите оптимизировать SQL запрос

Одним местом чувствую, что этот запрос можно переписать в одну строку, но не пойму как.

Код:
$query = 'SELECT mapid3 FROM #__mapsfo WHERE objurl LIKE "%'.$id.'%"'; 
$db->setQuery($query);
$m_id = $db->loadResult();

$query = 'SELECT id FROM #__mapsfo WHERE mapid3='.$m_id; 
$db->setQuery($query);
$o_id = $db->loadObjectList();

или нельзя?
 
Код:
$m_id = $db->loadResult();
$o_id = $db->loadObjectList();

вот никогда бы не догадался, что это гетеры

Код:
$query = 'SELECT id FROM #__mapsfo WHERE objurl LIKE "%'.$id.'%"';
$db->setQuery($query);
$res1 = $db->loadResult();
$res2 = $db->loadObjectList();
echo "<pre>";
print_r(res1);
print_r(res2);
 
я отлично вижу, что вернет оно не то что надо.

поле objurl уникально это раз.
вернуть нужно не айдишники по полю objurl, а по полю mapid3 это два.
 
да не проблема.

ок, начнем с начала
мне в моем коде не нравится 2 запроса к одной базе.
в первом у меня получется значение из поля mapid3, где objurl LIKE "%'.$id.'%" такая строка одна.

во втором IDшники, где mapid3 равно полученному выше значению. Этих строк массив

это реально переписать одним запросом?

P.S. кто учится имеет право не знать.
 
Назад
Зверху Знизу