Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вывод всех записей начиная с определённого значения

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ZeiZ
Отправлено: 28 Февраля, 2010 - 19:31:35
Post Id



Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Нояб. 2009  
Откуда: Москва


Помог: 0 раз(а)




Задача вывести сначала WHERE id = 8, а потом все остальные записи.
Т.е. объединить 2 запроса в один:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM TABLE WHERE id=8;
  2. SELECT * FROM TABLE WHERE id NOT 8;

Спасибо.
 
 Top
Champion Супермодератор
Отправлено: 28 Февраля, 2010 - 20:02:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT 1 AS f, t.* FROM tbl t WHERE id = 8
  2. UNION
  3. SELECT 2 AS f, t.* FROM tbl t WHERE id != 8
  4. ORDER BY f

(Добавление)
А если это в php, например, сделать надо, то никто тебе не мешает просто выполнить и вывести сначала один запрос, потом другой.
 
 Top
Мелкий Супермодератор
Отправлено: 28 Февраля, 2010 - 20:09:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




хм, у меня сработал такой финт ушами:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM TABLE ORDER BY id=8 DESC;

(Отредактировано автором: 28 Февраля, 2010 - 20:11:32)



-----
PostgreSQL DBA
 
 Top
ZeiZ
Отправлено: 28 Февраля, 2010 - 20:16:03
Post Id



Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Нояб. 2009  
Откуда: Москва


Помог: 0 раз(а)




Champion пишет:
CODE (SQL):
скопировать код в буфер обмена
SELECT 1 AS f, t.* FROM tbl t WHERE id = 8
UNION
SELECT 2 AS f, t.* FROM tbl t WHERE id != 8
ORDER BY f

Это понятно. Это тоже самое: т.е. 2 запроса.

А вот:
Мелкий пишет:
хм, у меня сработал такой финт ушами:
CODE (SQL):
скопировать код в буфер обмена
SELECT * FROM TABLE ORDER BY id=8 DESC;

Супер!!! Спасибо!
 
 Top
Champion Супермодератор
Отправлено: 01 Марта, 2010 - 08:29:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


Помог: 57 раз(а)




Мелкий, кстати, хорошее решение)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB