|
|
|
| Запрос - SELECT * FROM table WHERE id_uin IN(13,26,23,21,1,30,36)
В результате запрос сортирует по ключевому полю. А нужно в сответствии с порядком IN указанным в запросе. Пологаю следует отказаться от IN? И естетсвенно одним запросом не сделать. | |
|
|
|
|
|
|
|
для: admiral
(10.12.2009 в 21:57)
| | >В результате запрос сортирует по ключевому полю.
В результате запрос не сортирует ни че го , а лепит всё внавал. Потому что конструкции ORDER BY нет.
Одним запросом сделать можно, приводить его не буду, потому что малоэффективный он.
Кому приспичит, тот найдет. | |
|
|
|
|
|
|
|
для: Trianon
(10.12.2009 в 22:03)
| | >>В результате запрос сортирует по ключевому полю.
>
>В результате запрос не сортирует ни че го , а лепит всё внавал. Потому что конструкции ORDER BY нет.
Если бы ORDER BY позволял сортировать по условию, а не по полю, то ORDER BY в запросе был бы уместен.
>Одним запросом сделать можно, приводить его не буду, потому что малоэффективный он.
>Кому приспичит, тот найдет.
тоесть ресурсоемкий?
Просто в условии IN максимум 10 значений присутсвуют, и id_uin содержит индекс
Справился так
<?
foreach($str_id AS $uin_id)
{
$sql= mysql_query("SELECT * FROM table WHERE id_uin = $uin_id");
while($res = mysql_fetch_object($sql))
{
// ...
}
}
?>
|
| |
|
|
|
|
|
|
|
для: admiral
(10.12.2009 в 22:13)
| | ORDER BY FIND_IN_SET()
>Если бы ORDER BY позволял сортировать по условию, а не по полю.
ORDER BY позволяет сортировать по критерию. Это включает и условие и поле и еще тучу всего. | |
|
|
|