Имя: Пароль:
1C
 
условие связи в запросе
0 0level
 
22.12.15
20:48
Подскажите условие связи в запросе правильно написал или нет?

ВЫБОР
    КОГДА НЕ СтоимостьОС.ГрупповойУчет
        ТОГДА СтоимостьОС.ИнвентарныйНомер
    ИНАЧЕ МестонахождениеОС.ИнвентарныйНомер
КОНЕЦ = СобытияОССписание.ИнвНомер
1 zak555
 
22.12.15
20:50
общий запрос покажи
2 vicof
 
22.12.15
20:54
(0) И где же тут условие связи?
3 Casey1984
 
22.12.15
20:56
(0) зависит от условий задачи и остальной части запроса.
4 Defender aka LINN
 
22.12.15
22:54
(0) Нет конечно. Так у тебя остатки по складам не покажет.
5 Trance_1C
 
23.12.15
05:45
isnull( ВЫБОР
    КОГДА НЕ СтоимостьОС.ГрупповойУчет

        ТОГДА СтоимостьОС.ИнвентарныйНомер = СобытияОССписание.ИнвНомер
    ИНАЧЕ МестонахождениеОС.ИнвентарныйНомер = СобытияОССписание.ИнвНомер
КОНЕЦ , Ложь)
6 Trance_1C
 
23.12.15
05:47
А надежнее вот так:
isnull( ВЫБОР

    КОГДА НЕ СтоимостьОС.ГрупповойУчет

        ТОГДА СтоимостьОС.ИнвентарныйНомер Подобно ""%""+СобытияОССписание.ИнвНомер+""%""
    ИНАЧЕ МестонахождениеОС.ИнвентарныйНомер Подобно ""%""+СобытияОССписание.ИнвНомер+""%""
КОНЕЦ , Ложь)
7 vvp91
 
23.12.15
05:58
ВЫБОР в условиях соединения или отбора писать не надо. Это может приводить к проблемным запросам. Да и писать его долго и читается ВЫБОР плохо.

Очевидно, что (0) можно переписать так:

СобытияОССписание.ИнвНомер В (СтоимостьОС.ИнвентарныйНомер, МестонахождениеОС.ИнвентарныйНомер)