|
Объединение в Запросе | ☑ | ||
---|---|---|---|---|
0
jyupiter
22.06.12
✎
05:16
|
Конфигурация Управление Строительной Организацией (похожа на УПП)
Нужно сформировать запрос, который в итоге выдаст таблицу с двумя колонками "ФизЛицо" и "Страна". Строки - ФизЛица - полный набор из справочника ФизическиеЛица. Страна берётся из периодического РегистраСведений ГражданствоФизЛиц (срез последних на дату отчёта). Если ФизЛицо в Регистре Сведений не засветилось, то в поле "Страна" должна быть Россия (предопределённый элемент классификатора стран). Первый раз столкнулся с задачей такого типа, не могу сообразить, как к ней подступиться. Без запроса всё было бы просто, но нужно именно запросом. Помогите добрым советом, плиз |
|||
1
Rie
22.06.12
✎
05:23
|
(0) А в чём именно у тебя проблема? Украли встроенную справку - и теперь тебе негде почитать о ЛЕВОЕ СОЕДИНЕНИЕ и ЕСТЬNULL?
|
|||
2
jyupiter
22.06.12
✎
05:24
|
проблема в том, что справка большая, и некому подсказать, про что именно почитать)
спасибо |
|||
3
rphosts
22.06.12
✎
05:32
|
(2) для этого есть: Мартин Грабер (Грубер?) "UnderStarting SQL" - читается за 1 вечер, открывает почти все чакры на SQL... ну покрайней мере таких вопросов не будет.. а потом всёравно читать справку - про особенности диалекта от 1С и про временные таблицы у Грабера нет.
|
|||
4
Avalone2010
22.06.12
✎
05:40
|
Левое соединение по физ лицам и срезу последних по регистру. Для страна = Null через конструкцию Выбор когда подставь Россию
|
|||
5
Rie
22.06.12
✎
05:45
|
(4) За сравнение с NULL на равенство положен пожизненный эцих с гвоздями (но только при наличии смягчающих обстоятельств). И зачем ВЫБОР, если специально для этой цели имеется ЕСТЬNULL?
|
|||
6
jyupiter
22.06.12
✎
05:51
|
(3) мне нужны именно особенности "диалекта" 1С. А то как собака. Что надо сделать, понимаю, а объяснить электронному болвану не могу
(5) не понимаю, куда в этой схеме присобачить ЕСТЬNULL |
|||
7
Rie
22.06.12
✎
05:57
|
(6) Приблизительно так (имена полей, справочников и т.д. - хрен знает, как они в твоей конфигурации называются):
ВЫБРАТЬ ФизЛица.ФизЛицо КАК ФизЛицо, ЕСТЬNULL(Гражданство.Страна,ЗНАЧЕНИЕ(Справочник.КлассификаторСтранМира.Россия)) КАК Страна ИЗ Справочник.ФизическиеЛица КАК ФизЛица ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГражданствоФизЛиц.СрезПоследних(&ДатаОтчета) КАК Гражданство ПО ФизЛица.Ссылка = Гражданство.ФизЛицо |
|||
8
Avalone2010
22.06.12
✎
05:57
|
(6) Имелось виду
Выбор Когда ЕстьНулл(БлаБла,0) = 0 Тогда Россия Иначе Блабла Конец (5) не перегружай мозг новичкам.Я знаяю про естьнулл, не умничай. |
|||
9
Rie
22.06.12
✎
06:01
|
(8) Если знаешь - то зачем даёшь плохие советы?
|
|||
10
Avalone2010
22.06.12
✎
06:06
|
(9) за тем что объясняю как проще сделать человеку который не в зуб ногой. Знак равенства есть и в матиматике за 1 класс и в любом языке программирования в отличии от конструкций языка запроса(ISNULL). По поводу правильности - есть замечательная книга "Профессиональная разработка с системе 1С Предприятие". Когда топикстартер посчитает нужным писать код методологически правильно он возьмет ее и с удовольствием прочитает.
|
|||
11
Rie
22.06.12
✎
06:15
|
(10) С NULL сравнивать на равенство _нельзя_, независимо от того, какие где-то там есть знаки. Для проверки на NULL есть специальная операция ЕСТЬ NULL.
Ну а конструкция ВЫБОР КОГДА ЕСТЬNULL(БлаБла,0)=0 ТОГДА - за неё увольнять без выходного пособия. Хотя бы потому, что она _не_ эквивалентна проверке на NULL. Ты даёшь _неправильные_ советы - и пытаешься прикрыть своё невежество якобы попытками объяснить проще. |
|||
12
Рэйв
22.06.12
✎
06:18
|
(11)
ВЫБОР КОГДА ЕСТЬNULL(БлаБла,"твоюжматьжтонулл!!!")="твоюжматьжтонулл!!!" ТОГДА Эквивалентно:-) |
|||
13
jyupiter
22.06.12
✎
06:28
|
(7) Спасибо, всё взлетело)
После небольшой редакции ФизЛица.ФизЛицо -> ФизЛица.Ссылка |
|||
14
jyupiter
22.06.12
✎
06:31
|
(10) Если бы в наших гребенях можно было вот так просто "взять и прочитать", и если бы при этом книга была одна, зато про всё-превсё, то я бы давно так и сделал. Но увы(
Ещё раз всем СПАСИБО, теперь более-менее понятно, как устроено Левое соединение |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |