|
|
|
| есть таблица бд
id, title, parentid
есть переменная $cid
делаю запрос:
list($c_id, $c_title, $c_parentid) = $db->sql_fetchrow($db->sql_query("SELECT id, title, parentid FROM categories WHERE id='$cid'"));
list($a_title) = $db->sql_fetchrow($db->sql_query("SELECT title FROM categories WHERE cid='$c_parentid'"));
|
как объединить запросы в один? что то в сложные запросы не догоняю. помогите разобраться на примере
спасибо | |
|
|
|
|
|
|
|
для: linux_hak
(08.04.2008 в 00:03)
| | Хм... можно попробовать следующим образом
<?php
$query = "SELECT id, title, parentid FROM categories WHERE id='$cid' OR cid='$c_parentid'";
list($c_id, $c_title, $c_parentid) = $db->sql_fetchrow($db->sql_query($query));
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(08.04.2008 в 12:47)
| | не совсем верно. сначала делается первый запрос, инфа о подкатегории.
затем второй запрос, наименование родительской категории.
хотелось бы эти два запроса объединить, или считаете не нужным? | |
|
|
|
|
|
|
|
для: linux_hak
(08.04.2008 в 00:03)
| | в данном случае их незачем объединять..
выбираем инфу про категорию $cid, получаем 1 строку
потом выбираем все названия ее подкатегорий, получаем много строк..
а вообще смотря какова цель!
можно конечно сделать left join, но тогда в каждом выбранном ряду с подкатегорей будет инфа о родительской категории. зачем эта избыточность.. | |
|
|
|
|
|
|
|
для: mechanic
(08.04.2008 в 14:31)
| | это для тега title
хотя может есть какие то другие решения... | |
|
|
|
|
|
|
|
для: linux_hak
(09.04.2008 в 00:55)
| | т.е. надо получить заголовки текущей категории и родительской категории.. тогда так:
SELECT cur.title as title, up.title as parent_title FROM categories up, categories cur WHERE cur.id = $cid and cur.cid = up.id;
и хорошо бы cid сделать индексом, если еще не.. | |
|
|
|