Re: Ошибка SQL

При работе с расчетным документом, решил отсортировать по дате измен.

Сообщение 209, уровень 16, состояние 1, строка 1
Ambiguous column name 'CHANGE_DATE'.



exec sp_executesql N'SELECT DISTINCT
BLC_DOCS.BLC_DOCS_ID,
BLC_DOCS.BLC_DOCS_NUMBER,
BLC_DOCS.BLC_DOCS_DATE,
BLC_DOCS.BLC_DOCS_COMMENT,
BLC_DOCS.BLC_DOCS_NAME,
BLC_DOCS.BLC_DOC_KIND_ID,
BLC_DOCS.BLC_DOCS_STATE,
BLC_DOCS.CEHA_ID AS DOC_CEHA_ID,
BLC_DOCS.BLC_DOCS_SUM,
BLC_DOCS.BLC_DOCS_SUM_U,
BLC_DOCS.BLC_DOC_PREF,
BLC_DOCS.BLC_DOC_YEAR,
BLC_DOCS.BLC_DOC_PREFCNT,
BLC_DOCS.CONTRAGENT_ID,
BLC_DOCS.CREATOR,
BLC_DOCS.CREATE_DATE,
BLC_DOCS.CHANGER,
BLC_DOCS.CHANGE_DATE,
BLC_DOCS.N_ORD_ID,
BLC_DOCS_S.SUM_F,
BLC_DOCS_S.SUM_F_A,
BLC_DOCS_S.SUM_T,
BLC_DOCS_S.SUM_T_A,
BLC_DOC_KIND.BLC_DOC_KIND_NAME,
BLC_DOC_KIND.BLC_CONTRAGENT_NEEDED,
CEHA.CEHA_ID,
CEHA.CEHA_NUMBER,
CEHA.CEHA_SECTOR,
CEHA.CEHA_NAME,
CONTRAGENT.CONTRAGENT_INN,
CONTRAGENT.CONTRAGENT_NAME,
USER_CREATOR.USER_NAME AS USER_CREATOR,
USER_CHANGER.USER_NAME AS USER_CHANGER,
(0) AS TEMP_DOC_PAR_ID,
N_ORDS.N_ORD_NOTE,
N_ORDS.N_ORD_NAME,
N_ords.COMMONTREE_ID,
COMMONTREE.COMMONTREE_NAME,
N_ORDS.N_ORDSSTART,
N_ORDS.N_ORDEND,
N_ORDS.N_ORDREM,
N_ORDS.N_ORDST_ID,
NORDERS.NORDER_NAME
FROM BLC_DOCS_CEHA
LEFT JOIN BLC_DOCS ON (BLC_DOCS.BLC_DOCS_ID = BLC_DOCS_CEHA.BLC_DOCS_ID)
LEFT JOIN BLC_DOC_KIND ON (BLC_DOC_KIND.BLC_DOC_KIND_ID = BLC_DOCS.BLC_DOC_KIND_ID)
LEFT JOIN BLC_DOCS_S ON (BLC_DOCS_S.BLC_DOCS_ID = BLC_DOCS.BLC_DOCS_ID)
LEFT JOIN CONTRAGENT ON (CONTRAGENT.CONTRAGENT_ID = BLC_DOCS.CONTRAGENT_ID)
LEFT JOIN USERS USER_CREATOR ON (USER_CREATOR.USER_ID = BLC_DOCS.CREATOR)
LEFT JOIN USERS USER_CHANGER ON (USER_CHANGER.USER_ID = BLC_DOCS.CHANGER)
LEFT JOIN CEHA ON (CEHA.CEHA_ID = BLC_DOCS.CEHA_ID)
LEFT JOIN N_ORDS ON (N_ORDS.N_ORD_ID = BLC_DOCS.N_ORD_ID)
LEFT JOIN COMMONTREE Commontree ON  (N_ords.COMMONTREE_ID = Commontree.COMMONTREE_ID)
LEFT JOIN NORDER_N_ORDS ON NORDER_N_ORDS.N_ORD_ID=N_ORDS.N_ORD_ID
LEFT JOIN NORDERS ON NORDERS.NORDER_ID=NORDER_N_ORDS.NORDER_ID WHERE (BLC_DOCS.BLC_DOCS_DATE >= @P1 AND BLC_DOCS.BLC_DOCS_DATE <= @P2) AND
(BLC_DOCS_CEHA.CEHA_ID  IN (216,215))
ORDER BY CHANGE_DATE ASC', N'@P1 datetime,@P2 datetime', '26.11.1999 12:00:00:000AM', '26.11.1999 12:00:00:000AM'

Re: Ошибка SQL

А в чем проблема то?

Ambiguous column name 'CHANGE_DATE'

это означает, что Ваш запрос содержит две или более таких колонок

Re: Ошибка SQL

Сергей Девятериков писал(а):
А в чем проблема то?

Ambiguous column name 'CHANGE_DATE'

это означает, что Ваш запрос содержит две или более таких колонок


Проблема в ПО, запрос то не мой, а ваш.

Re: Ошибка SQL

Олег писал(а):
При работе с расчетным документом, решил отсортировать по дате измен.

Сообщение 209, уровень 16, состояние 1, строка 1
Ambiguous column name 'CHANGE_DATE'.


Спасибо за сообщение, ошибку исправим.

Re: Ошибка SQL

Владимир Белов пишет:

Олег писал(а):
При работе с расчетным документом, решил отсортировать по дате измен.

Сообщение 209, уровень 16, состояние 1, строка 1
Ambiguous column name 'CHANGE_DATE'.


Спасибо за сообщение, ошибку исправим.

Такая же ошибка при работе с учетными документами v5.7

Re: Ошибка SQL

Есть еще локальная сортировка.   Можно ей воспользоваться если требуется сильно функция, она должна сработать.

Re: Ошибка SQL

Олег Зырянов пишет:

Есть еще локальная сортировка.   Можно ей воспользоваться если требуется сильно функция, она должна сработать.

Да работает. А как на счет исправить?

Re: Ошибка SQL

ну постараемся конечно.

Re: Ошибка SQL

Такая же ошибка возникает в TechnologiCS 6.0.1(13162) при попытке установить фильтр по полю "Дата изменения" в режимах "Расчётные документы" и "Учётные документы".

Re: Ошибка SQL

Сервис пак на 5.7, 6.0.1 . в техподдержке.

Re: Ошибка SQL

Добрый день!

TCS 5.7 SQL 2008
Режим ввода номенклатуры в ТП.
Присоединяю параметры номенклатуры fx. Жму <нет>. И получаю сообщение от SQL
SQL Server Error: Элементы ORDER BY должны входить в список выбора, если указывается SELECT DISTINCT

Теперь входу Вид и включаю локальную сортировку. Делаю тоже самое с номенклатурой и все работает.

Можно ли исправить данную ошибку не включая локальную сортировку?

И как при локальной сортировке добиться сортировку по убыванию?

Спасибо.

Re: Ошибка SQL

при локальной сортировке добиться сортировку по убыванию

Никак, локальная только в одну сторону работает.

Про ошибку посмотрим конечно, но все ситуации просто предусмотреть сложно. Работаем конечно над этим, в будущих релизах добьемся еще большей стабильности.

Re: Ошибка SQL

На счет локальной сортировки жаль.

Вот еще, нельзя ли реализовать в выборках выполнения условия:

"Не содержит" показывало бы и позиции с Null значением.

Re: Ошибка SQL

:) Сложно сказать. Но правильней конечно сделать реализацию OR. В построителе запросов у нас фильтр погибче, но правда и настроить его сложнее.