Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с запросом разобраться [D6, IB6.x]


Mic_2000 ©   (2003-04-30 10:09:00) 

Делаю примерно такой запрос

insert into RsvodRS (Flch)

select Flch from RClient
where Flch=2

union all

select Flch from RClient
where Flch=1


без insert все работает, но мне нужно все эти данные из select втавить в таблицу, как это сделать?


Johnmen   (2003-04-30 11:02:00) [1]

>>> Johnmen © (30.04.03 10:12)



Desdechado   (2003-04-30 11:01:00) [2]

какие сортировки?!
твоя попытка с Union должна (теоретически) дать тот же порядок.
да и последовательность хранения данных не должна волновать тебя (как уже правильно указали)


Zacho   (2003-04-30 10:58:00) [3]


> Mic_2000 © (30.04.03 10:50)

Блин, зачем это нужно ???
Почитай что-нибудь по теории RDBMS. Нет никакого порядка в записях таблицы, куда их при вставке реально воткнет сервер - никого не интересует. Какой-либо порядок имеет смысл только при выборке, а для этого есть ORDER BY.
Может я тебя просто не понял, и ты что-то другое имеешь в виду ? Тогда объясни получше.
И в любом случае UNION в INSERT в IB6.x просто не поддерживается. Если очень надо - переходи на Yaffil. И вообще, весьма странный способ сортировки с помощью UNION. Ты уверен, что оптимизатор сработает именно так, как ты хочешь ?


АлексейК   (2003-04-30 10:56:00) [4]

Проставляй дату_время и сортеруй по этому полю.


Mic_2000   (2003-04-30 10:53:00) [5]

Вообщето вопрос звучал можно ли с Union использовать Insert, а не как мне их отсортировать


Mic_2000   (2003-04-30 10:50:00) [6]

Zacho © (30.04.03 10:43)

нужно чтобы они вставлялись в том порядке в котором их вручную забивали без всяких сортировок


Zacho   (2003-04-30 10:43:00) [7]


> Mic_2000 © (30.04.03 10:40)

???
В RBDMS таблица - это неупорядоченноемножество. Какая тебе разница, в какой последовательности физически будут идти записи ? Нужный тебе порядок обеспечивается при выборке посредством ORDER BY :-)


Соловьев   (2003-04-30 10:42:00) [8]


> Данные пересортировуются, а мне нужно чтобы они тупо друг
> за другом шли в порядки очереди так сказать

select ...
from ...
order by Flch desc

но это все так сказать чтобы ср...ть не хотелось.... Сорри за текст... :)


Mic_2000   (2003-04-30 10:40:00) [9]

Ха, а UNION в INSERT работает только в Yaffil (и может в FB, не помню). А действительно, чем не устраивает Соловьев © (30.04.03 10:12) и Наталия © (30.04.03 10:13) ?


Данные пересортировуются, а мне нужно чтобы они тупо друг за другом шли в порядки очереди так сказать


Zacho   (2003-04-30 10:17:00) [10]

Ха, а UNION в INSERT работает только в Yaffil (и может в FB, не помню). А действительно, чем не устраивает Соловьев © (30.04.03 10:12) и Наталия © (30.04.03 10:13) ?


Соловьев   (2003-04-30 10:16:00) [11]


> Жук © (30.04.03 10:15)


> Наталия © (30.04.03 10:13)

действительно :))))


Жук   (2003-04-30 10:15:00) [12]


> Соловьев © (30.04.03 10:12)
> select Flch
> from RClient
> where (Flch=1) or(Flch=2)


Наталия   (2003-04-30 10:13:00) [13]

А так:
insert into RsvodRS (Flch)

select Flch from RClient
where Flch=2 or Flch=1



Соловьев   (2003-04-30 10:12:00) [14]


> select Flch from RClient
> where Flch=2
>
> union all
>
> select Flch from RClient
> where Flch=1

что-то я не догнал проблемы....
select Flch
from RClient
where (Flch=1) and (Flch=2)



Johnmen   (2003-04-30 10:12:00) [15]

А не работает как ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо