![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с запросом разобраться [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]А не работает как ?