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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сортировка из 2-х запросов 
:(
    Опции темы
KEM
Дата 12.4.2007, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 28.1.2005

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



Код

SELECT Dt_Time as B, Old_val as B2, New_val as B3,  dicript as B1 FROM WDP_audit  
Where  (CDate(Dt_Time) between datevalue('01.01.2007 15:00:40') + timevalue('30.12.1899 11:00:00') AND datevalue('10.04.2007 15:00:42') + timevalue('30.12.1899 20:00:00')) 
 UNION 
SELECT Dt_Time as B, Old_val as B2, New_val as B3,  dicript as B1 FROM WDP_audit IN "D:\DB\dbretroarchiv.mdb"
 Where  (CDate(Dt_Time) between datevalue('01.01.2007 15:00:40') + timevalue('30.12.1899 11:00:00') AND datevalue('10.04.2007 15:00:42') + timevalue('30.12.1899 20:00:00')) 

Вот результат этого запроса нужно упорядачить по полю Dt_Time ну или B (я не в курсе по какому вернее), в формате CDate()
если добавиь в конец ругается "в выражение  ORDER BY CDate(Dt_Time) включены поля, не выбранные в запросе выражение ORDER BY может содержать поля затребованные только в  первом запросе"

Код

select * from 
(
(
SELECT Dt_Time as B, Old_val as B2, New_val as B3,  dicript as B1 FROM WDP_audit  Where  (CDate(Dt_Time) between datevalue('01.01.2007 15:00:40') + timevalue('30.12.1899 11:00:00') AND datevalue('12.04.2007 15:00:42') + timevalue('30.12.1899 20:00:00')
)
)
  union
(
SELECT Dt_Time as B, Old_val as B2, New_val as B3,  dicript as B1 FROM WDP_audit IN "D:\DB\dbretroarchiv.mdb" Where  (CDate(Dt_Time) between datevalue('01.01.2007 15:00:40') + timevalue('30.12.1899 11:00:00') AND datevalue('12.04.2007 15:00:42') + timevalue('30.12.1899 20:00:00'))
)
) ORDER BY CDate(Dt_Time)

А в таком виде говорит "ошибка синтаксиса JOIN"

Очень нужно решить эту проблему! Может есть у кого какие мысли ?
--------------------
Мы растворяем сознание жизни, реальностью стал бешеный ритм...
PM MAIL   Вверх
JAPH
Дата 12.4.2007, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 8.1.2007
Где: Ленобласть

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



Может, 
Код

(SELECT Dt_Time as B, Old_val as B2, New_val as B3,  dicript as B1 FROM WDP_audit  
Where  (CDate(Dt_Time) between datevalue('01.01.2007 15:00:40') + timevalue('30.12.1899 11:00:00') AND datevalue('10.04.2007 15:00:42') + timevalue('30.12.1899 20:00:00')) )
 UNION 
(SELECT Dt_Time as B, Old_val as B2, New_val as B3,  dicript as B1 FROM WDP_audit IN "D:\DB\dbretroarchiv.mdb"
 Where  (CDate(Dt_Time) between datevalue('01.01.2007 15:00:40') + timevalue('30.12.1899 11:00:00') AND datevalue('10.04.2007 15:00:42') + timevalue('30.12.1899 20:00:00')) )
ORDER BY B

или
Код

(SELECT CDate(Dt_Time) as B, Old_val as B2, New_val as B3,  dicript as B1 FROM WDP_audit  
Where  (CDate(Dt_Time) between datevalue('01.01.2007 15:00:40') + timevalue('30.12.1899 11:00:00') AND datevalue('10.04.2007 15:00:42') + timevalue('30.12.1899 20:00:00')) )
 UNION 
(SELECT CDate(Dt_Time) as B, Old_val as B2, New_val as B3,  dicript as B1 FROM WDP_audit IN "D:\DB\dbretroarchiv.mdb"
 Where  (CDate(Dt_Time) between datevalue('01.01.2007 15:00:40') + timevalue('30.12.1899 11:00:00') AND datevalue('10.04.2007 15:00:42') + timevalue('30.12.1899 20:00:00')) )
ORDER BY B



Это сообщение отредактировал(а) JAPH - 12.4.2007, 12:51


--------------------
Что непонятно - спрашиваем smile
PM MAIL ICQ   Вверх
nitr
Дата 12.4.2007, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

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



Цитата(KEM @  12.4.2007,  12:04 Найти цитируемый пост)
Вот результат этого запроса нужно упорядачить по полю Dt_Time ну или B (я не в курсе по какому вернее)

думаю везде надо так:
Цитата

...
SELECT CDate(Dt_Time) as B ...
...
) ORDER BY B


Добавлено через 3 минуты и 57 секунд
да и вроде лучше JOIN'ом объединить чем соединять UNION'ом 


--------------------
PM   Вверх
KEM
Дата 12.4.2007, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 28.1.2005

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



Огромное спасибо! Перепробывал всё, но не думал что будет настолько просто!))
Код

SELECT CDate(Dt_Time) as B, Old_val as B2, New_val as B3,  dicript as B1 FROM WDP_audit  Where  (CDate(Dt_Time) between datevalue('01.01.2007 15:00:40') + timevalue('30.12.1899 11:00:00') AND datevalue('12.04.2007 15:00:42') + timevalue('30.12.1899 20:00:00'))
 union
SELECT CDate(Dt_Time) as B, Old_val as B2, New_val as B3,  dicript as B1 FROM WDP_audit IN "D:\HMI New\HIM\HMI_19_12_06\DB\dbretroarchiv.mdb"  Where  (CDate(Dt_Time) between datevalue('01.01.2007 15:00:40') + timevalue('30.12.1899 11:00:00') AND datevalue('12.04.2007 15:00:42') + timevalue('30.12.1899 20:00:00'))
 ORDER BY B

--------------------
Мы растворяем сознание жизни, реальностью стал бешеный ритм...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




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


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

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