Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выборка из базы MySQL в обход UNION, Поможите пож-ста 
:(
    Опции темы
arial
  Дата 3.9.2003, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 772
Регистрация: 11.3.2003
Где: Архангельская обл .

Репутация: нет
Всего: 7



Есть такая таблица:
Код

| id | col1 | col2| col3|
--------------------
|  1 |   a   |   1   |infa|
|  2 |   a   |   1   |infa|
|  3 |   a   |   0   |infa|
|  4 |   a   |   0   |infa|
|  5 |   b   |   1   |infa|
|  6 |   b   |   1   |infa|
|  7 |   b   |   0   |infa|
|  8 |   b   |   0   |infa|
|  9 |   с   |   1   |infa|
|10 |   с   |   1   |infa|
|11 |   с   |   0   |infa|
|12 |   с   |   0   |infa|
--------------------

Делаю запрос:
Код
(SELECT col3 FROM table WHERE col1 = 'a' AND col2 = 1 ORDER BY id)
UNION
(SELECT col3 FROM table WHERE col2 != 1 ORDER BY id)
LIMIT 7;
Вот хотелось бы сделать такой же запрос, только без использования UNION, т.к. БД старая.
т.е. если по-русски, то нужно в начале из столба col1 выбрать все значения а, которые в столбе col2 имеют значение 1, а уж после этого приколбасить в конец выборки все остальные значения при любом col1, но при этом col2 не должен быть равен 1 и обрезать это где надо (limit).
Вот. Сам допереть не могу. Помогите пожалуйста.
P.S.
Щас приходится делать два запроса, имхо не профессионально.


--------------------
Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская)
PM ICQ   Вверх
Vit
Дата 4.9.2003, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 1
Всего: 207



На счёт Limit 7 не уверен, что такое можно провернуть, да и сортировку такую же достич будет трудно, а сама квери может быть примерно такая:

SELECT col3 FROM table WHERE (col1 = 'a' AND col2 = 1) or (col2 != 1)
ORDER BY id
LIMIT 7;


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
arial
Дата 4.9.2003, 06:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 772
Регистрация: 11.3.2003
Где: Архангельская обл .

Репутация: нет
Всего: 7



Спасибо Vit, но этот запрос точно не пойдет.
По условию надо, чтобы (col1 = 'a' AND col2 = 1) были в начале выборки отсортированные по id а потом за ним следовали (col2 != 1), тоже отсортированные по id.
Проще говоря, как на форуме прикрепленные топики. Сначала прикрепленные, потом все остальные.
Возможно я вообще с ходом мысли заблуждаюсь, поправте меня.


--------------------
Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская)
PM ICQ   Вверх
Vit
Дата 4.9.2003, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 1
Всего: 207



Тогда только вводить в таблицы дополнительные поля для сортировки


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
arial
Дата 6.9.2003, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 772
Регистрация: 11.3.2003
Где: Архангельская обл .

Репутация: нет
Всего: 7



Ну тогда буду юзать два запроса и все.


--------------------
Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская)
PM ICQ   Вверх
Secandr
Дата 7.9.2003, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 6
Всего: 39



Можно и один запрос, добавь в конце
ORDER BY col2,id


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
arial
Дата 7.9.2003, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 772
Регистрация: 11.3.2003
Где: Архангельская обл .

Репутация: нет
Всего: 7



Точно! Спасибо, Secandr. smile.gif


--------------------
Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская)
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0489 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.