0 / 0 / 0
Регистрация: 10.03.2009
Сообщений: 47
|
|
1 | |
Вопрос по запросу19.05.2009, 02:02. Показов 9974. Ответов 4
Метки нет (Все метки)
Делаю запрос (необходимо получить выборку содержащую номенклатуру и все типы цен для нее, если тип цен не установлен цена =0)
ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Наименование, ЦеныНоменклатурыСрезПоследних.Номенклатура.ЭтоГруппа КАК ЭтоГруппа, ЦеныНоменклатурыСрезПоследних.Цена КАК Цена, ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения КАК ЕдиницаИзмерения, ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦен ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ) КАК ЦеныНоменклатурыСрезПоследних ПОЛНОЕ СОЕДИНЕНИЕ Справочник.ТипыЦенНоменклатуры КАК ТипыЦенНоменклатуры ПО ЦеныНоменклатурыСрезПоследних.ТипЦен = ТипыЦенНоменклатуры.Ссылка ИТОГИ ПО Наименование ИЕРАРХИЯ Затем вывожу результат в ДеревоЗначений Получаю примерно следующее Группа Номенклатура1 Номенклатура1 Опт1 Номенклатура2 Номенклатура2 Опт2 Для Номенклатура1 тип цен Опт2 не определен (отсутствует в регистре движение) Для Номенклатура2 тип цен Опт1 не определен Никак не могу добиться того чтоб было Группа Номенклатура1 Номенклатура1 Опт1 Номенклатура1 Опт2 Номенклатура2 Номенклатура2 Опт1 Номенклатура2 Опт2 Дело в том что для номенклатуры, если не установлен тип цен, то она не попадает в результат выборки, а мне необходимо чтоб если для номенклатуры не установлен тип цен она попадала в выборку Подскажите плиз
0
|
19.05.2009, 02:02 | |
Ответы с готовыми решениями:
4
Вопрос по запросу Вопрос по запросу? Вопрос по запросу Вопрос по запросу |
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
|
|
19.05.2009, 02:47 | 2 |
Предлагаю сделать вложенный запрос, в котором будет создаваться декартово произведение элементов номенклатуры с элементами справочника типы цен, а затем к этому запросу левым соединением подсоединять значения цен.
<!--shcode--><pre><code class=,>ВЫБРАТЬ РАЗЛИЧНЫЕ ВложенныйЗапрос.Номенклатура, ВложенныйЗапрос.ТипЦен, ЦеныНоменклатурыСрезПоследних.Цена ИЗ (ВЫБРАТЬ Номенклатура.Ссылка КАК Номенклатура, ТипыЦенНоменклатуры.Ссылка КАК ТипЦен ИЗ Справочник.ТипыЦенНоменклатуры КАК ТипыЦенНоменклатуры, Справочник.Номенклатура КАК Номенклатура) КАК ВложенныйЗапрос ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ) КАК ЦеныНоменклатурыСрезПоследних ПО ВложенныйЗапрос.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура И ВложенныйЗапрос.ТипЦен = ЦеныНоменклатурыСрезПоследних.ТипЦен[/CODE] Без слова РАЗЛИЧНЫЕ почему-то задваиваются строки, где есть тип цен. Почему - так и не понял.
0
|
0 / 0 / 0
Регистрация: 02.03.2007
Сообщений: 272
|
|
19.05.2009, 10:03 | 3 |
1) Думаю, ЦеныНоменклатурыСрезПоследних.Цена - лишнее, 2 раза к одной таблице обращаемся, проще доставать из вложенного запроса.
2)Задваиваются, потому что вы используете вкачестве источника таблицу, в которую включены парные записи. если наложить на вложенный запрос "различные" то результат должен быть тотже). Или попробовать ВНУТРЕННЕЕ соединение. А по поводу
Сообщение от konst
одно поле - ЕСТЬNULL(ВложенныйЗапрос.ТипЦен,0) как типЦен, //вместо ВложенныйЗапрос.ТипЦен, второе - ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена,0) как Цена // соответствено вместо Цены Вобщем, почитайте в синтаксис-помошнике, там все есть). Вытягивайте через "Содержание", так будет проще
0
|
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
|
|
19.05.2009, 22:49 | 4 |
Сообщение от tanat
Сообщение от tanat
0
|
0 / 0 / 0
Регистрация: 02.03.2007
Сообщений: 272
|
|
20.05.2009, 09:31 | 5 |
Вы правы, не внимателен был).
Но по поводу вычисляемых полей - все в силе пока остается).
0
|
20.05.2009, 09:31 | |
20.05.2009, 09:31 | |
Помогаю со студенческими работами здесь
5
Вопрос по запросу вопрос по запросу вопрос по запросу Глупый вопрос по запросу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |