Список форумов BOSSForum.RU - Форум. БОСС-Кадровик
Независимый форум, посвященный системе БОСС-Кадровик
и всему, что с ней связано
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Не работает запрос

 
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык
Предыдущая тема :: Следующая тема  
Автор Сообщение
clawn



Зарегистрирован: 04.08.2008
Сообщения: 4
Откуда: СПб

СообщениеДобавлено: Ср Авг 06, 2008 15:09    Заголовок сообщения: Не работает запрос Ответить с цитатой

Подскажите, пожалуйста, почему может не работть следующий запрос:

BROWSER
{
SELECT
C.Auto_Card as "Код физлица",
C.Full_Name as "ФИО",
P.PID as "Код работника",
P.in_date as "Дата приема",
S.Struct_Code as "Код Подразделения",
S.Struct_Parent as "Код род подразделения",
S.Struct_Name as "Имя подразделения",
S2.Struct_Name as "Имя род подразделения"

FROM CARD C

JOIN PEOPLE P on C.Auto_Card = P.Auto_Card
JOIN STRUCTS S on P.Struct_Code = S.Struct_Code
JOIN STRUCTS S2 on S.Struct_Parent = S2.Struct_Code
}

если я его запускаю в SQL - все работает нормально,а БОСС пишет, что не может найти S2.Struct_Code почему-то...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
clawn



Зарегистрирован: 04.08.2008
Сообщения: 4
Откуда: СПб

СообщениеДобавлено: Ср Авг 06, 2008 17:02    Заголовок сообщения: Ответить с цитатой

я конечно обошел это путем создания вьюхи и отчета select * from view, но почему не работают joins в БОССе - непонятно.
было бы классно выложить отдельной супер-темой синтаксис Х-языка и его возможности!!!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vitaly
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 29.07.2008
Сообщения: 281
Откуда: Санкт-Петербург

СообщениеДобавлено: Чт Авг 07, 2008 10:40    Заголовок сообщения: Ответить с цитатой

возможно что-то с вложенностью Join'тов в БОССе... такой вариант работает


SELECT
C.Auto_Card as "Код физлица",
C.Full_Name as "ФИО",
P.PID as "Код работника",
P.in_date as "Дата приема",
S.Struct_Code as "Код Подразделения",
S.Struct_Parent as "Код род подразделения",
S.Struct_Name as "Имя подразделения",
S2.Struct_Name as "Имя род подразделения"

FROM CARD C, PEOPLE P, STRUCTS S, STRUCTS S2

Where C.Auto_Card = P.Auto_Card
And P.Struct_Code = S.Struct_Code
And S.Struct_Parent = S2.Struct_Code
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Владимир



Зарегистрирован: 08.08.2008
Сообщения: 2

СообщениеДобавлено: Пт Авг 08, 2008 15:39    Заголовок сообщения: Не работает запрос Ответить с цитатой

А вот так попробуйте:

BROWSER
{
SELECT
C.Auto_Card as "Код физлица",
C.Full_Name as "ФИО",
P.PID as "Код работника",
P.in_date as "Дата приема",
S.Struct_Code as "Код Подразделения",
S.Struct_Parent as "Код род подразделения",
S.Struct_Name as "Имя подразделения",
S2.Struct_Name as "Имя род подразделения"

FROM CARD C _HINTBROWSER

JOIN PEOPLE P on C.Auto_Card = P.Auto_Card
JOIN STRUCTS S on P.Struct_Code = S.Struct_Code
JOIN STRUCTS S2 on S.Struct_Parent = S2.Struct_Code
}
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
clawn



Зарегистрирован: 04.08.2008
Сообщения: 4
Откуда: СПб

СообщениеДобавлено: Пт Авг 08, 2008 18:05    Заголовок сообщения: Ответить с цитатой

а так работает, спасибо!
_HINTBROWSER - то есть это надо вставлять в любой запрост с joinтами?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Владимир



Зарегистрирован: 08.08.2008
Сообщения: 2

СообщениеДобавлено: Пн Авг 25, 2008 17:46    Заголовок сообщения: Ответить с цитатой

Да, _HINTBROWSER стоит вставлять в запросах с JOIN-ами.

Дело в том, что X-язык пробует сам расставить некоторые хинты в запросах, которые он обрабатывает.
Но в запросах с JOIN-ами он этого делать не умеет.
В таких случаях 3 варианта:

1. Воспользоваться хинтом NO_HINT
Соответственно, X-язык в этом случае ничего делать не будет.
2. Воспользоваться хинтом (NO LOCK)
3. Воспользоваться хинтом _HINTBROWSER
Фактически всеравно будет подставлен (NO LOCK)

Последние 2 варианта - хинты могут быть продублированы после имени каждой таблицы.
Но достаточно их упомянуть 1 раз, чтобвы X-язык больше ничего не делал.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык Часовой пояс: GMT + 4
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Pоwerеd by рhpВB © 2001, 2005 рhpВB Grouр
Русская поддержка phрВB
Rambler's Top100 Рейтинг@Mail.ru Список форумов BOSSForum.RU