![]() |
![]() |
![]() |
|
Как правильно построить запрос? | ☑ | ||
---|---|---|---|---|
0
lanc2233
23.09.12
✎
13:15
|
Есть справочник "Номенклатура" и регистр сведений "НоменклатураКонтрагентов". (Измерение : Номенклатура, Контрагент, Ресурс : Наименование) К одной номенклатуре может быть подвязанно несколько номенклатур контрагентов.
Моя задача : вывести список всей номенклатуры, и в соседней колонке её наименование у конкретного поставщика. Не знаю куда в запросе вставить условие ВЫБРАТЬ НоменклатураКонтрагентов.Номенклатура.Ссылка, НоменклатураКонтрагентов.Наименование ИЗ Справочник.Номенклатура КАК Товары ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НоменклатураКонтрагентов КАК НоменклатураКонтрагентов ПО Товары.Ссылка = НоменклатураКонтрагентов.Номенклатура ГДЕ НоменклатураКонтрагентов.Контрагент = &Контрагент таким образом получается выводит только те товары что нашло у заданного контрагента. А нужно чтобы были все товары, и если такого нет у контрагента то было пусто. |
|||
1
Rie
23.09.12
✎
13:16
|
(0) Замени ГДЕ на И (если я правильно понял задачу).
|
|||
2
Dionis Sergeevich
23.09.12
✎
13:18
|
(0) Убери условие вообще - посмотри что получится. Возможно придется покурить левое соединение на предмет внутреннего или внешнего
|
|||
3
Dionis Sergeevich
23.09.12
✎
13:19
|
я б помог - но 1с дома нет. точнее на моем компе с сгоревшим монитором есть, а на нетбуке соседа с которого сижу нету
|
|||
4
Rie
23.09.12
✎
13:20
|
(0) ПОлучится почти то, что надо ТС - но без фильтра по контрагенту.
|
|||
5
Rie
23.09.12
✎
13:20
|
(4)->(2)
|
|||
6
lanc2233
23.09.12
✎
13:23
|
(1) и (2) дает одинаковый результат - много строк (наверное элементы справочника) со всеми пустыми значениями.
|
|||
7
Rie
23.09.12
✎
13:25
|
(6) Именно все элементы справочника. А что тебе надо? ("А нужно чтобы были все товары, и если такого нет у контрагента то было пусто" - почерк узнаёшь?).
|
|||
8
Dionis Sergeevich
23.09.12
✎
13:25
|
(5) он пишет что ему нужна вся номенклатура с ее наименованием у поставщика. Всей это всей. по одному контрагенту это как у него
(6) судя по (0) тебе и нужно получить "много строк" =) то есть всю номенклатуру с добавленной колонкой из рс |
|||
9
lanc2233
23.09.12
✎
13:45
|
Вот так что-то похожее на правду выводит
ВЫБРАТЬ НоменклатураКонтрагентов.Наименование КАК НАименованиеК, Товары.Наименование КАК НаименованиеТ, Товары.Код, Товары.Ссылка ИЗ Справочник.Номенклатура КАК Товары ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НоменклатураКонтрагентов КАК НоменклатураКонтрагентов ПО Товары.Ссылка = НоменклатураКонтрагентов.Номенклатура ГДЕ Товары.ЭтоГруппа = Ложь Если к товару привязанно несколько наименований контрагента то выводит все. Как сделать чтобы выводило наименования нужного контрагента, если такового нету, то чтобы эта колонка была просто пустой, но элемент номенклатуры был. или вот визуально, что хочу получить http://savepic.su/2510020.htm |
|||
10
Dionis Sergeevich
23.09.12
✎
13:50
|
(9) Если хочешь по одному контрагенту - бобавляй условие в подзапрос. Будет вся номенклатура с заполненными наименваниями только нужного контрагента
|
|||
11
Dionis Sergeevich
23.09.12
✎
13:51
|
Вместо РегистрСведений.НоменклатураКонтрагентов пишешь запросик с выборкой по контрагенту
|
|||
12
mistеr
23.09.12
✎
14:39
|
(1) + ГДЕ Товары.ЭтоГруппа = Ложь
|
|||
13
rphosts
23.09.12
✎
15:04
|
(9) левое сединение (слева номенклатура)
мне интереснее а что делать конда у 1 номенклатуры куча контрагентов? выводить столько строк склько есть контрагентов или 1 или как? |
|||
14
rphosts
23.09.12
✎
15:05
|
>Если к товару привязанно несколько наименований контрагента то выводит все.
в 1 поле? конкатенация наименований контрагентов? |
|||
15
mistеr
23.09.12
✎
16:34
|
(13) читаем (0): "вывести список всей номенклатуры, и в соседней колонке её наименование у *конкретного* поставщика."
|
|||
16
Rie
23.09.12
✎
16:58
|
(15) При этом ТС возражал против того, чтобы выводилась _вся_ номенклатура.
|
|||
17
rphosts
23.09.12
✎
17:05
|
(16) угу и ещё опять-же того контрагента по кторому отбор тоже выводить или нет?
в общем как обычно в правильно заданом вопросе уже половина ответа - ибо правильная формулировка сразу ставит всё на своё место. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |