Имя: Пароль:
1C
 
Внутреннее соединение. Левая часть. Почему только ПЕРВЫЕ ОДИН ???
0 bolobol
 
21.10.15
14:27
Добрый день!

Запрос:

ВЫБРАТЬ
    ХозрасчетныйОстатки.Субконто1,
    ХозрасчетныйОстатки.Субконто2,
    ХозрасчетныйОстатки.СуммаОстаток,
    ХозрасчетныйОстатки.СуммаОстатокДт КАК СуммаОстатокДт,
    ХозрасчетныйОстатки.СуммаОстатокКт КАК СуммаОстатокКт
//,ХозрасчетныйОстатки1.Субконто2 как суб2
//,ХозрасчетныйОстатки1.СуммаОстатокДт КАК СуммаОстатокДт1
//,ХозрасчетныйОстатки1.СуммаОстатокКт КАК СуммаОстатокКт1
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(
            &Период,
            Счет.код = "60.01",
            ,
            Организация В (&Организации)) КАК ХозрасчетныйОстатки
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(
                &Период,
                Счет.код = "60.01",
                ,
                Организация В (&Организации)) КАК ХозрасчетныйОстатки1
        ПО ((ХозрасчетныйОстатки.СуммаОстатокКт = 0 И ХозрасчетныйОстатки1.СуммаОстатокДт = 0)
                ИЛИ (ХозрасчетныйОстатки.СуммаОстатокДт = 0    И ХозрасчетныйОстатки1.СуммаОстатокКт = 0))
            И ХозрасчетныйОстатки.Субконто1 = ХозрасчетныйОстатки1.Субконто1
            И ХозрасчетныйОстатки.Организация = ХозрасчетныйОстатки1.Организация
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
    ХозрасчетныйОстатки.Субконто1,
    ХозрасчетныйОстатки.Субконто2,
    ХозрасчетныйОстатки.СуммаОстаток,
    ХозрасчетныйОстатки.СуммаОстатокДт,
    ХозрасчетныйОстатки.СуммаОстатокКт
//    , 0, 0, 0
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(
            &Период,
            Счет.код = "60.01",
            ,
            &ПоОрганизациям = 0
                ИЛИ Организация В (&Организации)) КАК ХозрасчетныйОстатки


ВОПРОС:
Почему, если снять комментарии - результат становится ожидаемым (все со всеми из второй части запроса), а выбирая в результат только левую часть - неявное "ПЕРВЫЕ 1" срабатывает?

ХЕЛП!
1 ibreiter
 
21.10.15
14:34
Соединение точно нужно? Может можно через условие или параметры виртуальной то же самое получить?
2 mehfk
 
21.10.15
14:36
(0) Потому, что ты не знаешь как работают виртуальные таблицы
3 bolobol
 
21.10.15
15:16
(2) Очень информативно, спасибо что заглянули)
4 bolobol
 
21.10.15
15:17
(1) Не знаю... Может... Но вопрос именно здесь.
5 ibreiter
 
21.10.15
15:22
(4) Во второй таблице последние три поля Число, в первой суб и два числа
6 ibreiter
 
21.10.15
15:26
Ну и без субконто и с ним остатки разные
7 mehfk
 
21.10.15
16:04
(3) Не оставайся затупком - узнай.
8 bolobol
 
21.10.15
16:11
(7) Затупок тут только ты) прости, се ля ви.
9 bolobol
 
21.10.15
16:50
*(0) "...Счет.Код = "60.04"...", обшибся, сорри, АП счёт.
10 mehfk
 
21.10.15
17:09
(8) ты неголичен, это еще один признак к твоей тупости
11 mehfk
 
21.10.15
17:11
Для конкретных танкистов: нужно открыть доку по языку запросов и прочитать как работают ваиртуальные таблицы. Это не сложно.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.