Проверьте уже выполненный запрос на наличие различных значений поля, но без выполнения другого запроса - PullRequest
0 голосов
/ 08 октября 2009

Я пытаюсь создать меню с несколькими подменю. Мне нужно сделать запрос, который берет результат предыдущего запроса и оставляет только отдельные результаты некоторого поля. Если я делаю новый запрос каждый раз, когда сервер выдает ошибку, потому что запрос выполняет поиск через большая база данных.

Короче, что-то вроде этого: выберите отдельную (полевую) форму (уже сделанный запрос) Есть ли способ в MySQL или PHP, что это можно сделать?

Ответы [ 2 ]

1 голос
/ 08 октября 2009

Разве вы не можете просто использовать подзапрос? SELECT DISTINCT field FROM (SELECT * FROM menus WHERE ...) Дополнительная информация о подзапросах в MySQL . Подзапрос позволит вам выполнить внешний выбор против результатов внутреннего выбора.

0 голосов
/ 08 октября 2009

в php вы можете зациклить на первом результате запроса построить массив, содержащий различные поля:

$result = mysql_query($sql);// result of 1st query

$arr = array();//an array that will contain distinct field values

while ($row = mysql_fetch_assoc($result)) {// for each row
    if (!in_array($row["field"], $arr))    // check if it's not in the array
        $arr[] = $row["field"]             // add it
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...