![]() |
![]() |
![]() |
|
Запрос возвращает ошибку. Помогите ₽ |
☑ | ||
---|---|---|---|---|
0
Ksandr
17.03.09
✎
15:13
|
Запрос:
ВЫБРАТЬ Контрагенты.Ссылка КАК Контрагент, Сделка.Ссылка КАК Договор ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ Документ.УС_Договор КАК Сделка ПО (Сделка.Контрагент = Контрагенты.Ссылка) И (Сделка.Ссылка В (ВЫБРАТЬ ПЕРВЫЕ 1 СделкаК.Ссылка ИЗ Документ.УС_Договор КАК СделкаК ГДЕ СделкаК.Контрагент = Контрагенты.Ссылка УПОРЯДОЧИТЬ ПО СделкаК.Дата)) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Контрагенты.Ссылка КАК Контрагент, Сделка.Ссылка КАК Договор ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ Документ.УС_Договор КАК Сделка ПО (Сделка.Контрагент = Контрагенты.Ссылка) И (Сделка.Ссылка В (ВЫБРАТЬ ПЕРВЫЕ 2 СделкаК.Ссылка ИЗ Документ.УС_Договор КАК СделкаК ГДЕ СделкаК.Контрагент = Контрагенты.Ссылка УПОРЯДОЧИТЬ ПО СделкаК.Дата УБЫВ)) ИТОГИ ПО Контрагент Ошибка СУБД: Microsoft OLE DB Provider for SQL Server: ORDER BY items must appear in the select list if the statement contains a UNION operator HRESULT=80040E14, SQLSrvr: Error state=1, Severity=F, native=104, line=1 |
|||
1
Aprobator
17.03.09
✎
15:18
|
Перевожу: УПОРЯДОЧИТЬ ПО поле должно быть указано в ВЫБОР в случае использования оператора ОБЪЕДИНЕНИЕ.
|
|||
2
Ksandr
17.03.09
✎
15:21
|
А как применить - не понимаю
|
|||
3
73
17.03.09
✎
15:34
|
Это ж из v8: Помогите составить запрос
Насколько я помню, у тебя документ другой. Не копипасти. Покажи, что у тебя сейчас. (0) На моих документах и Postgre работает. |
|||
4
Aprobator
17.03.09
✎
15:35
|
блин, во вложенные запросы под СделкаК.Ссылка Добавить Поле СделкаК.Дата.
|
|||
5
73
17.03.09
✎
15:41
|
(4) Повторяю: (0) На моих документах и Postgre работает.
И так как есть работает, и с разбивкой в пакет тоже работает. ВЫБРАТЬ Контрагенты.Ссылка КАК Контрагент, ЗаказПокупателя.Ссылка КАК Договор Поместить ПервыеДоговора ИЗ Справочник.Контрагенты КАК Контрагенты левое СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя ПО (ЗаказПокупателя.Контрагент = Контрагенты.Ссылка) И (ЗаказПокупателя.Ссылка В (ВЫБРАТЬ ПЕРВЫЕ 1 ЗаказПокупателяК.Ссылка ИЗ Документ.ЗаказПокупателя КАК ЗаказПокупателяК ГДЕ ЗаказПокупателяК.Контрагент = Контрагенты.Ссылка УПОРЯДОЧИТЬ ПО ЗаказПокупателяК.Дата )) ; ВЫБРАТЬ Контрагенты.Ссылка КАК Контрагент, ЗаказПокупателя.Ссылка КАК Договор Поместить ПоследниеДоговора ИЗ Справочник.Контрагенты КАК Контрагенты левое СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК ЗаказПокупателя ПО (ЗаказПокупателя.Контрагент = Контрагенты.Ссылка) И (ЗаказПокупателя.Ссылка В (ВЫБРАТЬ ПЕРВЫЕ 2 ЗаказПокупателяК.Ссылка ИЗ Документ.ЗаказПокупателя КАК ЗаказПокупателяК ГДЕ ЗаказПокупателяК.Контрагент = Контрагенты.Ссылка УПОРЯДОЧИТЬ ПО ЗаказПокупателяК.Дата УБЫВ)) ; Выбрать Контрагент, договор Из ПервыеДоговора Объединить все Выбрать Контрагент, договор Из ПоследниеДоговора ИТОГИ ПО Контрагент |
|||
6
Aprobator
17.03.09
✎
15:42
|
(5) пакетный запрос рулит :)
|
|||
7
73
17.03.09
✎
15:43
|
(5)+ Единственное, что может MSSQL не хавает. Но это проверить не могу.
|
|||
8
Ksandr
17.03.09
✎
15:56
|
ВЫБРАТЬ
Контрагенты.Ссылка КАК Контрагент, Заказ.Ссылка КАК ЗаказСсылка ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК Заказ ПО (Заказ.Контрагент = Контрагенты.Ссылка) И (Заказ.Ссылка В (ВЫБРАТЬ ПЕРВЫЕ 1 СделкаК.Ссылка ИЗ Документ.ЗаказПокупателя КАК СделкаК ГДЕ СделкаК.Контрагент = Контрагенты.Ссылка УПОРЯДОЧИТЬ ПО СделкаК.Дата)) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Контрагенты.Ссылка КАК Контрагент, Заказ.Ссылка КАК ЗаказСсылка ИЗ Справочник.Контрагенты КАК Контрагенты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК Заказ ПО (Заказ.Контрагент = Контрагенты.Ссылка) И (Заказ.Ссылка В (ВЫБРАТЬ ПЕРВЫЕ 2 СделкаК.Ссылка ИЗ Документ.ЗаказПокупателя КАК СделкаК ГДЕ СделкаК.Контрагент = Контрагенты.Ссылка УПОРЯДОЧИТЬ ПО СделкаК.Дата УБЫВ)) ИТОГИ ПО Контрагент |
|||
9
Ksandr
17.03.09
✎
15:58
|
Начальство отвлекало другими задачами, не мог написать
|
|||
10
73
17.03.09
✎
16:03
|
Скопировал (8) к себе 1:1 - работает.
|
|||
11
73
17.03.09
✎
16:04
|
(10)+ Попробуй пакетом, если что.
|
|||
12
Ksandr
17.03.09
✎
16:19
|
а как это в консоли отчетов испробовать?
|
|||
13
73
17.03.09
✎
16:25
|
Скопируй (5) и вставь.
|
|||
14
SMakcik
17.03.09
✎
16:34
|
УПОРЯДОЧИТЬ ПО
подобно СГРУППИРОВАТЬ и если поля нет в выборке, то как он тебе должен группировать или упорядочивать. |
|||
15
Ksandr
17.03.09
✎
16:35
|
на ";" ругается
|
|||
16
Ksandr
17.03.09
✎
16:40
|
в (5)
|
|||
17
SMakcik
17.03.09
✎
16:40
|
он не на ";" ругается, а что в запросе есть ошибка
|
|||
18
Ksandr
17.03.09
✎
16:40
|
(17) подскажи решение, пожалуйста
|
|||
19
SMakcik
17.03.09
✎
16:41
|
а ; вообще не должно быть. зачем это
|
|||
20
Ksandr
17.03.09
✎
16:41
|
Ругается на "ВЫБРАТЬ" если убрать
|
|||
21
SMakcik
17.03.09
✎
16:44
|
Вообще-то у меня так выполняется
ВЫБРАТЬ ПЕРВЫЕ 2 СделкаК.Ссылка ИЗ Документ.ЗаказПокупателя КАК СделкаК УПОРЯДОЧИТЬ ПО СделкаК.Дата УБЫВ |
|||
22
SMakcik
17.03.09
✎
16:45
|
покажи полный запрос который у тебя щас действует и какую ошибку дает
|
|||
23
Ksandr
17.03.09
✎
16:48
|
Копировал запрос (5)
|
|||
24
SMakcik
17.03.09
✎
16:49
|
ну и что не выполняется. сейчас скопировал и все работает
|
|||
25
Ksandr
17.03.09
✎
16:49
|
ты просто скопировал и ничего не делал?
|
|||
26
Ksandr
17.03.09
✎
16:50
|
(5) или (8)
|
|||
27
SMakcik
17.03.09
✎
16:51
|
и ничего не дела
|
|||
28
SMakcik
17.03.09
✎
16:51
|
хватит мозги пудрить. ты или внимательней делай
или давай свой код и говори ошибку |
|||
29
Ksandr
17.03.09
✎
16:53
|
Синтаксическая ошибка ";"
<<?>>; Строка 18 |
|||
30
Ksandr
17.03.09
✎
16:53
|
Код (5)
|
|||
31
SMakcik
17.03.09
✎
16:55
|
у тебя идет синтаксическая ошибка.
ты 1С знаешь |
|||
32
SMakcik
17.03.09
✎
16:55
|
и где выполняешь
|
|||
33
Ksandr
17.03.09
✎
16:55
|
(31) Укажи на нее, пожалуйста
|
|||
34
SMakcik
17.03.09
✎
16:56
|
зачем ты ";" скопировал лишнюю
|
|||
35
Ksandr
17.03.09
✎
16:56
|
в консоли отчетов
|
|||
36
Ksandr
17.03.09
✎
16:57
|
(34) не мог бы ты продублировать свою версию?
|
|||
37
73
17.03.09
✎
16:58
|
Блин, в (5) полностью рабочий запрос.
Кто не знает: в языке запросов ; - разделяет запросы в пакете. |
|||
38
73
17.03.09
✎
16:59
|
(37)+ скопировать надо от первого ВЫБРАТЬ до конца!! захватив ИТОГИ ПО...
|
|||
39
SMakcik
17.03.09
✎
17:07
|
в пять есть поместить во временную таблицу.
и первые запросы помещают. а следующий запрос выбирает из низ. а ";" это разделение запросов. аналогично "...."; |
|||
40
SMakcik
17.03.09
✎
17:08
|
и дали (8) для этого чтобы не было ошибок
|
|||
41
73
17.03.09
✎
17:08
|
(40) У тебя какой SQL?
|
|||
42
73
17.03.09
✎
17:10
|
(41)+
(5) и (8) я на Postgre проверил, но у автора MSSQL. Потому и спрашиваю. |
|||
43
SMakcik
17.03.09
✎
17:21
|
у меня SQL2005
|
|||
44
Регистратор
17.03.09
✎
17:24
|
инструкция объединение в общем случае не гарантирует определенный порядок возврата записей, поэтому целесообразно упорядочивани применять уже к объединению, о чем видимо скл сервер и сообщает
|
|||
45
73
17.03.09
✎
17:38
|
(43) Значит SQL не виноват.
Автор, платформа версия какая? |
|||
46
Ksandr
18.03.09
✎
08:10
|
(45) SQL2000
|
|||
47
Ksandr
23.03.09
✎
10:41
|
Все решилось при обновлении платформы на 8.1.13.68
ВСЕМ СПАСИБО ЗА ПОМОЩЬ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |