Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Объединение запросов  [new]
M_mouse
Member

Откуда:
Сообщений: 27
Помогите объединить три запроса... Union не получается :(

Первый(даёт последнюю дату меньше заданного начала периода):
SELECT TOP 1 date,id
from C.Sensor s
where DATE<'2012-06-05' order BY id DESC

Второй(Даёт первую дату после конца заданного периода):
SELECT TOP 1 date,id
from C.Sensor s
where DATE>'2012-10-05' group BY id,date

Третий(даёт даты в заданном периоде):

SELECT date,id
from C.Sensor s
where DATE between '2012-06-05' and '2012-10-05'

Заранее спасибо!!
6 июн 12, 15:30    [12675499]     Ответить | Цитировать Сообщить модератору
 Re: Объединение запросов  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Чо не получается то?
6 июн 12, 15:38    [12675619]     Ответить | Цитировать Сообщить модератору
 Re: Объединение запросов  [new]
M_mouse
Member

Откуда:
Сообщений: 27
объединить их в один запрос. Ну или по другому как-то решить эту проблему: вывести дату перед началом периода, после конца периода и внутри периода одним целым запросом
6 июн 12, 15:40    [12675647]     Ответить | Цитировать Сообщить модератору
 Re: Объединение запросов  [new]
SunJun
Member

Откуда:
Сообщений: 135
select1 union select2 union select3
все просто и красиво если все 3 выводят одного типа даты (same data type)
6 июн 12, 15:47    [12675760]     Ответить | Цитировать Сообщить модератору
 Re: Объединение запросов  [new]
M_mouse
Member

Откуда:
Сообщений: 27
не хочет union соединять запрос, содержащий order by...
я писала в начале описания проблемы...

Не хочет вот так:

SELECT TOP 1 date,id
from C.Sensor s
where DATE<'2012-06-05' order BY id DESC
union
SELECT TOP 1 date,id
from C.Sensor s
where DATE>'2012-10-05' group BY id,date
union
SELECT date,id
from C.Sensor s
where DATE between '2012-06-05' and '2012-10-05'

то ли грамматика не та, то ли еще что-то...
6 июн 12, 15:53    [12675872]     Ответить | Цитировать Сообщить модератору
 Re: Объединение запросов  [new]
SunJun
Member

Откуда:
Сообщений: 135
select * from (select.... order by )a
union
select * from (select.... order by )b
union
select * from (select.... order by )c
6 июн 12, 15:55    [12675894]     Ответить | Цитировать Сообщить модератору
 Re: Объединение запросов  [new]
Glory
Member

Откуда:
Сообщений: 104751
M_mouse
я писала в начале описания проблемы...

Вы написали "не получается ", а вовсе не сообщение об ошибке


M_mouse
то ли грамматика не та, то ли еще что-то...

Откройте для себя вложенные запросы. Это которые в скобки заключают ()
6 июн 12, 15:56    [12675904]     Ответить | Цитировать Сообщить модератору
 Re: Объединение запросов  [new]
M_mouse
Member

Откуда:
Сообщений: 27
Заработало.
И правда, дело в грамматике. Спасибо всем!!!
6 июн 12, 16:00    [12675967]     Ответить | Цитировать Сообщить модератору
 Re: Объединение запросов  [new]
SunJun
Member

Откуда:
Сообщений: 135
M_mouse,


на здоровье :)
6 июн 12, 16:02    [12675981]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить