|
первоапрельский результат обычного запроса | ☑ | ||
---|---|---|---|---|
0
samozvanec
01.04.13
✎
16:05
|
с учетом того, что
ТаблицаЗначений[НомерСтрокиПервый].КодСчета = ТаблицаЗначений[НомерСтрокиВторой].КодСчета дает истину, при левом соединении в одной строке условие выполняется, в другой нет. не знаю уже, куда и думать. запрос вида выбрать Т1.КодСчета ПСХ.Счет Из ТаблицаКоторуюВставляюПараметром КАК Т1 ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный КАК ПСХ ПО Т1.КодСчета = ПСХ.Код волшебства, вроде, не бывает, но что тогда не так? |
|||
1
Defender aka LINN
01.04.13
✎
16:10
|
(0) Значит, в другой строке таки не равно и ты нас наигрываешь.
|
|||
2
salvator
01.04.13
✎
16:11
|
Первое апреля оно такое, да.
|
|||
3
samozvanec
01.04.13
✎
16:11
|
(1) в отладчике смотрю - равно
|
|||
4
samozvanec
01.04.13
✎
16:12
|
+(3) "01.01" - в обоих строках. ищу, соответственно первый счет. для одной строки находится, для другой - нет.
|
|||
5
Defender aka LINN
01.04.13
✎
16:12
|
(3) НомерСтрокиПервый=НомерСтрокиВторой значит. Чудес не бывает, сколько бы ты тут не пытался нас убедить в обратном, даже не выложив ни единого скриншота
|
|||
6
samozvanec
01.04.13
✎
16:13
|
(5) не равны... ща наделаю...
|
|||
7
samozvanec
01.04.13
✎
16:20
|
http://i058.radikal.ru/1304/17/9e1618a59eca.jpg
вот начало исходной таблицы. там все - строки, для этих строк условие соединения отрабатывает |
|||
8
samozvanec
01.04.13
✎
16:21
|
http://s018.radikal.ru/i511/1304/f5/c47efc96aed8.jpg
вот конец той же таблицы. для этих нескольких строк условие не отрабатывает |
|||
9
samozvanec
01.04.13
✎
16:21
|
||||
10
samozvanec
01.04.13
✎
16:29
|
в общем не прикалываюсь я, реально не пойму, в чем дело.
|
|||
11
salvator
01.04.13
✎
16:33
|
(10) Скрин результата запроса в проблемном месте скинь.
|
|||
12
salvator
01.04.13
✎
16:36
|
+(11) Плюс, желательно, чтобы видно было колонку с номером строки ;)
|
|||
13
Defender aka LINN
01.04.13
✎
16:36
|
(7) Еще один юморист... Ну и где вообще колонка "КодСчета"? Сейчас выяснится, что и запрос написан "ну я сокращенно написал, выкинул к чертям весь блок "ГДЕ", который результат соединения нещадно фильтрует", да?
|
|||
14
samozvanec
01.04.13
✎
16:42
|
http://s018.radikal.ru/i501/1304/d5/d52bc6d09cbd.png
результат, верхние строки http://s42.radikal.ru/i095/1304/84/c9432264528f.png результат, нижние строки запрос не содержит ГДЕ. во временную таблицу из плана счетов отбирается все ссылки, не помеченные на удаление + их коды. левое соединение по полю Код к таблице, в которой все строковое. |
|||
15
samozvanec
01.04.13
✎
16:43
|
(13) я сокращенно написал, так и есть. никаких посторонних условий не накладывается. к одним строкам джонится, к другим - нет.
|
|||
16
Defender aka LINN
01.04.13
✎
16:44
|
(15) Полный текст запроса фстудию
|
|||
17
samozvanec
01.04.13
✎
16:46
|
ВЫБРАТЬ
СтроковаяТаблица.НомерКарточкиСкладскогоУчета, СтроковаяТаблица.ОбъектНЗС, СтроковаяТаблица.СостояниеОбъектаНЗС, СтроковаяТаблица.ГруппаНЗСПоРСБУ, СтроковаяТаблица.СубсчетУчетаОбъектаНЗС, СтроковаяТаблица.СубсчетВыбытияОбъектаНЗС, СтроковаяТаблица.ГруппаОценщик, СтроковаяТаблица.СостояниеОбъектаОценщик, СтроковаяТаблица.ПравовойСтатусОбъектаОценщик, СтроковаяТаблица.ВидПриходаВРеестрМСФО, СтроковаяТаблица.СтатусЭксплуатацииМСФО, СтроковаяТаблица.ГруппаНЗСПоМСФО, СтроковаяТаблица.ТребуетМонтажа, СтроковаяТаблица.ПорядковыйНомерВКарточкеСкладскогоУчета ПОМЕСТИТЬ ВТСтроковая ИЗ &СтроковаяТаблица КАК СтроковаяТаблица ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СведенияПоОбъектамНЗСРСБУСрезПоследних.ОбъектНЗС КАК ОбъектНЗС, СведенияПоОбъектамНЗСРСБУСрезПоследних.ОбъектНЗС.НомерКарточкиСкладскогоУчета КАК НомерКарточкиСкладскогоУчета, СведенияПоОбъектамНЗСРСБУСрезПоследних.ОбъектНЗС.Наименование КАК Наименование, СведенияПоОбъектамНЗСРСБУСрезПоследних.ОбъектНЗС.ПорядковыйНомерВКарточкеСкладскогоУчета КАК ПорядковыйНомерВКарточкеСкладскогоУчета ПОМЕСТИТЬ ВТОбъектыНЗС ИЗ РегистрСведений.СведенияПоОбъектамНЗСРСБУ.СрезПоследних(&НачалоПериода, Организация = &Организация) КАК СведенияПоОбъектамНЗСРСБУСрезПоследних ИНДЕКСИРОВАТЬ ПО НомерКарточкиСкладскогоУчета, ПорядковыйНомерВКарточкеСкладскогоУчета, Наименование ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СостоянияОбъектовНЗСРСБУ.Ссылка КАК СостояниеОбъектаНЗС, СостоянияОбъектовНЗСРСБУ.Наименование КАК Наименование ПОМЕСТИТЬ ВТСостоянияОбъектовНЗС ИЗ Справочник.СостоянияОбъектовНЗСРСБУ КАК СостоянияОбъектовНЗСРСБУ ГДЕ НЕ СостоянияОбъектовНЗСРСБУ.ПометкаУдаления ИНДЕКСИРОВАТЬ ПО Наименование ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ГруппыВНАПоРСБУ.Ссылка КАК ГруппаНЗСПоРСБУ, ГруппыВНАПоРСБУ.Код КАК Код ПОМЕСТИТЬ ВТГруппыНЗСПоРСБУ ИЗ Справочник.ГруппыВНАПоРСБУ КАК ГруппыВНАПоРСБУ ГДЕ НЕ ГруппыВНАПоРСБУ.ПометкаУдаления ИНДЕКСИРОВАТЬ ПО Код ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Хозрасчетный.Ссылка КАК Счет, Хозрасчетный.Код КАК Код ПОМЕСТИТЬ ВТСчета ИЗ ПланСчетов.Хозрасчетный КАК Хозрасчетный ГДЕ НЕ Хозрасчетный.ПометкаУдаления И НЕ Хозрасчетный.Забалансовый ИНДЕКСИРОВАТЬ ПО Код ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ГруппыОценщикаМСФО.Ссылка КАК ГруппаОценщик, ГруппыОценщикаМСФО.Наименование КАК Наименование ПОМЕСТИТЬ ВТГруппыОценщик ИЗ Справочник.ГруппыОценщикаМСФО КАК ГруппыОценщикаМСФО ГДЕ НЕ ГруппыОценщикаМСФО.ПометкаУдаления ИНДЕКСИРОВАТЬ ПО Наименование ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СостоянияОбъектовНЗСОценщик.Ссылка КАК СостояниеОбъектаОценщик, СостоянияОбъектовНЗСОценщик.Наименование КАК Наименование ПОМЕСТИТЬ ВТСостоянияОбъектовОценщик ИЗ Справочник.СостоянияОбъектовНЗСОценщик КАК СостоянияОбъектовНЗСОценщик ГДЕ НЕ СостоянияОбъектовНЗСОценщик.ПометкаУдаления ИНДЕКСИРОВАТЬ ПО Наименование ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СтатусыОценщика.Ссылка КАК ПравовойСтатусОбъектаОценщик, СтатусыОценщика.Наименование КАК Наименование ПОМЕСТИТЬ ВТПравовыеСтатусыОбъектовОценщик ИЗ Справочник.СтатусыОценщика КАК СтатусыОценщика ГДЕ НЕ СтатусыОценщика.ПометкаУдаления ИНДЕКСИРОВАТЬ ПО Наименование ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВидыПриходаВРеестрОбъектаНЗС.Ссылка КАК ВидПриходаВРеестрМСФО, ВидыПриходаВРеестрОбъектаНЗС.Наименование КАК Наименование ПОМЕСТИТЬ ВТВидыПриходаВРеестрМСФО ИЗ Справочник.ВидыПриходаВРеестрОбъектаНЗС КАК ВидыПриходаВРеестрОбъектаНЗС ГДЕ НЕ ВидыПриходаВРеестрОбъектаНЗС.ПометкаУдаления ИНДЕКСИРОВАТЬ ПО Наименование ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СтатусыЭксплуатацииМСФО.Ссылка КАК СтатусЭксплуатацииМСФО, СтатусыЭксплуатацииМСФО.Наименование КАК Наименование ПОМЕСТИТЬ ВТСтатусыЭксплуатацииМСФО ИЗ Справочник.СтатусыЭксплуатацииМСФО КАК СтатусыЭксплуатацииМСФО ГДЕ НЕ СтатусыЭксплуатацииМСФО.ПометкаУдаления ИНДЕКСИРОВАТЬ ПО Наименование ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ГруппыВНАПоМСФО.Ссылка КАК ГруппаНЗСПоМСФО, ГруппыВНАПоМСФО.Код КАК Код ПОМЕСТИТЬ ВТГруппыНЗСПоМСФО ИЗ Справочник.ГруппыВНАПоМСФО КАК ГруппыВНАПоМСФО ГДЕ НЕ ГруппыВНАПоМСФО.ПометкаУдаления ИНДЕКСИРОВАТЬ ПО Код ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТСтроковая.НомерКарточкиСкладскогоУчета, ВТОбъектыНЗС.ОбъектНЗС, ВТСостоянияОбъектовНЗС.СостояниеОбъектаНЗС, ВТГруппыНЗСПоРСБУ.ГруппаНЗСПоРСБУ, ВТСчетаУчета.Счет КАК СубсчетУчетаОбъектаНЗС, ВТСчетаВыбытия.Счет КАК СубсчетВыбытияОбъектаНЗС, ВТГруппыОценщик.ГруппаОценщик, ВТСостоянияОбъектовОценщик.СостояниеОбъектаОценщик, ВТПравовыеСтатусыОбъектовОценщик.ПравовойСтатусОбъектаОценщик, ВТВидыПриходаВРеестрМСФО.ВидПриходаВРеестрМСФО, ВТСтатусыЭксплуатацииМСФО.СтатусЭксплуатацииМСФО, ВТГруппыНЗСПоМСФО.ГруппаНЗСПоМСФО, ВЫБОР КОГДА ВТСтроковая.ТребуетМонтажа = "Да" ТОГДА ИСТИНА КОГДА ВТСтроковая.ТребуетМонтажа = "Нет" ТОГДА ЛОЖЬ ИНАЧЕ ВТСтроковая.ТребуетМонтажа КОНЕЦ КАК ТребуетМонтажа ИЗ ВТСтроковая КАК ВТСтроковая ЛЕВОЕ СОЕДИНЕНИЕ ВТОбъектыНЗС КАК ВТОбъектыНЗС ПО ВТСтроковая.ОбъектНЗС = ВТОбъектыНЗС.Наименование И ВТСтроковая.ПорядковыйНомерВКарточкеСкладскогоУчета = ВТОбъектыНЗС.ПорядковыйНомерВКарточкеСкладскогоУчета И ВТСтроковая.НомерКарточкиСкладскогоУчета = ВТОбъектыНЗС.НомерКарточкиСкладскогоУчета ЛЕВОЕ СОЕДИНЕНИЕ ВТСостоянияОбъектовНЗС КАК ВТСостоянияОбъектовНЗС ПО ВТСтроковая.СостояниеОбъектаНЗС = ВТСостоянияОбъектовНЗС.Наименование ЛЕВОЕ СОЕДИНЕНИЕ ВТГруппыНЗСПоРСБУ КАК ВТГруппыНЗСПоРСБУ ПО ВТСтроковая.ГруппаНЗСПоРСБУ = ВТГруппыНЗСПоРСБУ.Код ЛЕВОЕ СОЕДИНЕНИЕ ВТСчета КАК ВТСчетаУчета ПО ВТСтроковая.СубсчетУчетаОбъектаНЗС = ВТСчетаУчета.Код ЛЕВОЕ СОЕДИНЕНИЕ ВТСчета КАК ВТСчетаВыбытия ПО ВТСтроковая.СубсчетВыбытияОбъектаНЗС = ВТСчетаВыбытия.Код ЛЕВОЕ СОЕДИНЕНИЕ ВТГруппыОценщик КАК ВТГруппыОценщик ПО ВТСтроковая.ГруппаОценщик = ВТГруппыОценщик.Наименование ЛЕВОЕ СОЕДИНЕНИЕ ВТСостоянияОбъектовОценщик КАК ВТСостоянияОбъектовОценщик ПО ВТСтроковая.СостояниеОбъектаОценщик = ВТСостоянияОбъектовОценщик.Наименование ЛЕВОЕ СОЕДИНЕНИЕ ВТПравовыеСтатусыОбъектовОценщик КАК ВТПравовыеСтатусыОбъектовОценщик ПО ВТСтроковая.ПравовойСтатусОбъектаОценщик = ВТПравовыеСтатусыОбъектовОценщик.Наименование ЛЕВОЕ СОЕДИНЕНИЕ ВТВидыПриходаВРеестрМСФО КАК ВТВидыПриходаВРеестрМСФО ПО ВТСтроковая.ВидПриходаВРеестрМСФО = ВТВидыПриходаВРеестрМСФО.Наименование ЛЕВОЕ СОЕДИНЕНИЕ ВТСтатусыЭксплуатацииМСФО КАК ВТСтатусыЭксплуатацииМСФО ПО ВТСтроковая.СтатусЭксплуатацииМСФО = ВТСтатусыЭксплуатацииМСФО.Наименование ЛЕВОЕ СОЕДИНЕНИЕ ВТГруппыНЗСПоМСФО КАК ВТГруппыНЗСПоМСФО ПО ВТСтроковая.ГруппаНЗСПоМСФО = ВТГруппыНЗСПоМСФО.Код |
|||
18
НафНаф
01.04.13
✎
16:48
|
и где надо угадать?
|
|||
19
samozvanec
01.04.13
✎
16:48
|
объекты НЗС у нас - все, что на восьмерке, не обращайте внимания) выбор требует монтажа - временный косяк, так надо.
просьба по делу подсказать) |
|||
20
samozvanec
01.04.13
✎
16:50
|
(18) что угадать?
|
|||
21
НафНаф
01.04.13
✎
16:50
|
(20) не знаю, неверное соединение видимо
|
|||
22
samozvanec
01.04.13
✎
16:52
|
(21) что тут неверного может быть?
ЛЕВОЕ СОЕДИНЕНИЕ ВТСчета КАК ВТСчетаВыбытия ПО ВТСтроковая.СубсчетВыбытияОбъектаНЗС = ВТСчетаВыбытия.Код |
|||
23
samozvanec
01.04.13
✎
16:52
|
+(22) для каких-то строк отрабатывает!
|
|||
24
hhhh
01.04.13
✎
16:53
|
(22) количество пробелов
|
|||
25
НафНаф
01.04.13
✎
16:53
|
может там не строки?
|
|||
26
samozvanec
01.04.13
✎
16:58
|
(25) (9) видел? никаких пробелов, строки все. реально вот такое вот в обед мне приехало, пухнет голова
|
|||
27
Defender aka LINN
01.04.13
✎
16:59
|
(26) Чудес не бывает. Так что копай дальше.
Я бы начал с выкидывания нахрен всех остальных таблиц |
|||
28
samozvanec
02.04.13
✎
10:48
|
в общем, как оказалось, после передачи таблицы в запрос, она перемешивается произвольным образом. т.е. соединение отрабатывало корректно, но в конце таблицы были уже другие строки, что и ввело меня в заблуждение.
надеюсь, кому-нибудь будет полезно. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |