Лучший отвечающий
UNION и ORDER BY NEWID()

Вопрос
-
Здравствуйте! Можно ли использовать UNION с ORDER BY NEWID()
SELECT TOP(1) * FROM [Т1] ORDER BY NEWID() UNION SELECT TOP(1) * FROM [Т2] ORDER BY NEWID()
ошибка "Incorrect syntax near the keyword 'UNION'."6 февраля 2013 г. 7:20
Ответы
-
у меня вот такой запрос выполняется в SQL server 2008 r2
Select name from (Select top(1) 'name from t1' as Name from GRS_28 order by newid()) as t1 union select name from (select top(1) 'name from t2' as Name from GRS_28 order by newid()) as t2
на какой базе вы пытаетесь это сделать?
- Помечено в качестве ответа Program-s.g 6 февраля 2013 г. 10:33
- Снята пометка об ответе Program-s.g 6 февраля 2013 г. 11:04
- Помечено в качестве ответа Program-s.g 6 февраля 2013 г. 11:07
- Снята пометка об ответе Program-s.g 6 февраля 2013 г. 11:10
- Помечено в качестве ответа Program-s.g 6 февраля 2013 г. 11:31
6 февраля 2013 г. 10:13 -
добавить поле и ставить для т1 туда 1 а для т2 2 и при привязки данных сортировать по этому полю
- Помечено в качестве ответа Program-s.g 6 февраля 2013 г. 11:31
6 февраля 2013 г. 11:15
Все ответы
-
Использование Union предполагает что у вас наборы данных имеют одинаковые структуры, так как у вас выборка идет из разных таблиц то и наборы будут разные, и работать это не будет.
попробуйте так:
Select top(1) 'name from t1' as Name from [T1] order by newid()
union select top(1) 'name from t2' as Name from [t2] order by newid()
6 февраля 2013 г. 9:04 -
Ваш способ тоже не работает. Таблицы имеют одинаковые структуры. Дело в том, что без ORDER BY NEWID() работает, если добавить ORDER BY NEWID() получаю ошибку.
- Изменено Program-s.g 6 февраля 2013 г. 9:52
6 февраля 2013 г. 9:37 -
попробуйте так
Select name from (Select top(1) 'name from t1' as Name from [T1] order by newid()) union select name from (select top(1) 'name from t2' as Name from [t2] order by newid())
6 февраля 2013 г. 9:41 -
Не работает, опять ошибка. Incorrect syntax near the keyword 'union'.6 февраля 2013 г. 9:57
-
у меня вот такой запрос выполняется в SQL server 2008 r2
Select name from (Select top(1) 'name from t1' as Name from GRS_28 order by newid()) as t1 union select name from (select top(1) 'name from t2' as Name from GRS_28 order by newid()) as t2
на какой базе вы пытаетесь это сделать?
- Помечено в качестве ответа Program-s.g 6 февраля 2013 г. 10:33
- Снята пометка об ответе Program-s.g 6 февраля 2013 г. 11:04
- Помечено в качестве ответа Program-s.g 6 февраля 2013 г. 11:07
- Снята пометка об ответе Program-s.g 6 февраля 2013 г. 11:10
- Помечено в качестве ответа Program-s.g 6 февраля 2013 г. 11:31
6 февраля 2013 г. 10:13 -
Вот так уже работает,спасибо6 февраля 2013 г. 10:33
-
Еще один вопрос, а как сохранить "очередь "данных уже для dropdownlist? то есть сначала данные из Т1. потом Т2. их очередь постоянно меняется.6 февраля 2013 г. 11:11
-
добавить поле и ставить для т1 туда 1 а для т2 2 и при привязки данных сортировать по этому полю
- Помечено в качестве ответа Program-s.g 6 февраля 2013 г. 11:31
6 февраля 2013 г. 11:15