|
|
|
Левое соединение + Вложенный запрос = что-то неправильно | ☑ | ||
|---|---|---|---|---|
|
0
pH
02.12.04
✎
14:10
|
Подскажите, пожалуйста: Есть запрос (на основе отчета: анализ ЗаказаПокупателя), внутри него добавил запрос, которые получает остатки. В общем виде выглядит прилизительно так:
ВЫБРАТЬ …. ОстаткиТоваровКомпанииОстаткиНаряды.Количество КАК РезервНаряды ИЗ РегистрНакопления.ЗаказыПокупателей.ОстаткиИОбороты(,&ДатаАнализа,,,ЗаказПокупателя=&ЗаказПокупателя) КАК ЗаказыПокупателейОстаткиИОбороты …. Левое соединение (ВЫБРАТЬ Остатки.Номенклатура КАК Номенклатура, СУММА(Остатки.КоличествоОстаток) КАК Количество, Остатки.ХарактеристикаНоменклатуры ИЗ РегистрНакопления.ОстаткиТоваровКомпании.Остатки(, Заказ В (&Наряд)) КАК Остатки СГРУППИРОВАТЬ ПО Остатки.Номенклатура, Остатки.ХарактеристикаНоменклатуры ) КАК ОстаткиТоваровКомпанииОстаткиНаряды ПО ЗаказыПокупателейОстаткиИОбороты.Номенклатура = ОстаткиТоваровКомпанииОстатки.Номенклатура В результате: главный запрос неправильно объединяет записи – Например, выполним отдельно вложенный запрос, получим: Номенклатура Количество Комбайн MOULINEX A77 4C 3 Вентилятор JIPONIC (Тайв.), 5 Выполним весь запрос, получим: ТоварТара Номенклатура РезервНаряды Товар 16 Товар Комбайн MOULINEX A77 4C 8 Товар Комбайн MOULINEX A77 4C 3 Товар Комбайн MOULINEX A77 4C 5 Товар Вентилятор JIPONIC (Тайв.), 8 Товар Вентилятор JIPONIC (Тайв.), 3 Товар Вентилятор JIPONIC (Тайв.), 5 Подскажите что я делаю неправильно, или где прочитать подробнее по этой теме? |
|||
|
1
PVasili
02.12.04
✎
14:29
|
Что показывает основной запрос, без соединения?
Весь запрос в студию... У тебя по левой таблице есть ИТОГИ, ГРУППИРОВКИ? |
|||
|
2
колодина
02.12.04
✎
14:31
|
похоже надо в каком-то месте дописать РАЗЛИЧНЫЕ, номенклатура похоже несколько раз выбирается.
|
|||
|
3
pH
02.12.04
✎
14:47
|
Почему-то большой запрос неправильно объединяет поля:
Как видите в маленькой таблице: товар1 , остаток1 товар2 , остаток2 в большой таблице товар1, остаток1 товар1, остаток2 >> неправильно объединяет поля, товар2, остаток1 >> только не могу понять почему? товар2, остаток2 Весь запрос (Отчет АнализЗаказаПокупателя): ВЫБРАТЬ ЗаказыПокупателейОстаткиИОбороты.ТоварТара КАК ТоварТара, ЗаказыПокупателейОстаткиИОбороты.Номенклатура КАК Номенклатура, ЗаказыПокупателейОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаХраненияОстатков, ЗаказыПокупателейОстаткиИОбороты.КоличествоРасход КАК ОтгруженоОтменено, ЗаказыПокупателейОстаткиИОбороты.КоличествоКонечныйОстаток КАК ОсталосьОтгрузить, ОстаткиТоваровКомпанииОстатки.КоличествоОстаток КАК Резерв, ОстаткиТоваровКомпанииОстаткиНаряды.КоличествоОстаток КАК РезервНаряды, ОстаткиТоваровКомпанииОстаткиСвободные.КоличествоОстаток КАК СвободныйОстаток ИЗ РегистрНакопления.ЗаказыПокупателей.ОстаткиИОбороты(, &ДатаАнализа, , , ЗаказПокупателя = &ЗаказПокупателя) КАК ЗаказыПокупателейОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваровКомпании.Остатки(&ДатаАнализа) КАК ОстаткиТоваровКомпанииОстатки ПО ЗаказыПокупателейОстаткиИОбороты.ХарактеристикаНоменклатуры = ОстаткиТоваровКомпанииОстатки.ХарактеристикаНоменклатуры И ЗаказыПокупателейОстаткиИОбороты.ЗаказПокупателя = ОстаткиТоваровКомпанииОстатки.Заказ И ЗаказыПокупателейОстаткиИОбороты.Номенклатура = ОстаткиТоваровКомпанииОстатки.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПоставщикам.Остатки(&ДатаАнализа) КАК ЗаказыПоставщикамОстатки ПО ЗаказыПокупателейОстаткиИОбороты.ЗаказПокупателя = ЗаказыПоставщикамОстатки.ЗаказПокупателя И ЗаказыПокупателейОстаткиИОбороты.Номенклатура = ЗаказыПоставщикамОстатки.Номенклатура И ЗаказыПокупателейОстаткиИОбороты.ХарактеристикаНоменклатуры = ЗаказыПоставщикамОстатки.ХарактеристикаНоменклатуры ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваровКомпании.Остатки(&ДатаАнализа, Заказ В (&ПустойЗаказ)) КАК ОстаткиТоваровКомпанииОстаткиСвободные ПО ЗаказыПокупателейОстаткиИОбороты.Номенклатура = ОстаткиТоваровКомпанииОстаткиСвободные.Номенклатура И ЗаказыПокупателейОстаткиИОбороты.ХарактеристикаНоменклатуры = ОстаткиТоваровКомпанииОстаткиСвободные.ХарактеристикаНоменклатуры ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ Остатки.Номенклатура КАК Номенклатура, СУММА(Остатки.КоличествоОстаток) КАК КоличествоОстаток, Остатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры ИЗ РегистрНакопления.ОстаткиТоваровКомпании.Остатки(, Заказ В (&Наряд)) КАК Остатки СГРУППИРОВАТЬ ПО Остатки.Номенклатура, Остатки.ХарактеристикаНоменклатуры) КАК ОстаткиТоваровКомпанииОстаткиНаряды ПО ЗаказыПокупателейОстаткиИОбороты.Номенклатура = ОстаткиТоваровКомпанииОстатки.Номенклатура ИТОГИ СУММА(ОтгруженоОтменено), СУММА(ОсталосьОтгрузить), СУММА(Резерв), СУММА(РезервНаряды), СУММА(СвободныйОстаток) ПО ТоварТара, Номенклатура |
|||
|
4
PVasili
02.12.04
✎
14:55
|
Что и в каком виде ты желаешь увидеть?
|
|||
|
5
SnarkHunter
02.12.04
✎
14:56
|
PVasili = PVase ???
|
|||
|
6
SnarkHunter
02.12.04
✎
14:57
|
Это ж надо так T-SQL испоганить... Чуть не вытошнило на клавиатуру...
|
|||
|
7
PVasili
02.12.04
✎
15:00
|
(5,6)???
Пятница завтра... :( |
|||
|
8
SnarkHunter
02.12.04
✎
15:00
|
(7)Вопрос (5) к тебе. (6) - комментарий по поводу (3)
|
|||
|
9
PVasili
02.12.04
✎
15:05
|
1)что есть PVase?
2)Это 1C V8, а не T-SQL 3) Человек что-то хочет получить, вероятно не лучьшим образом... ? |
|||
|
10
pH
02.12.04
✎
15:09
|
это почти стандартный отчет АнализЗаказаПокупателя
почти, потому что хочется получить резервирование по другим документам, которые выписаны на основании текущего заказа. |
|||
|
11
ВРедная
02.12.04
✎
15:22
|
Больше похоже, что объединение где-то не сработало.
Попробуй в консоли запросов по очереди каждую новую таблицу добавлять и смотреть, где вылезет... |
|||
|
12
pH
02.12.04
✎
18:47
|
спасибо всем. Кажется разобрался. все дело было в итогах и группировке
v8: Группировка и итоги - почти то, что надо, только неразвернуто как-то... |
|||
|
13
SnarkHunter
02.12.04
✎
21:42
|
(9)Спасибо, я не знал что это 1С V8...
|
|||
|
14
pH
03.12.04
✎
09:52
|
слово "почти" очень вредное: разобрался почти, но есть вопрос.
Если в стандартном отчете АнализЗаказовПокупателей вставить "СГРУППИРОВАТЬ ПО ..." -отчет формируется и все ок, теперь уберем "СГРУППИРОВАТЬ ПО ..." , (т.е. вернулись к предыдущей форме с "ИТОГИ ... ПО..."), то возникает ошибка: "Поле не входит в группу "ЗаказыПокупателейОстаткиИОбороты.Номенклатура"" Кто-нибудь с этим встречался или я первый? ;) |
|||
|
15
pH
03.12.04
✎
09:55
|
вопрос снят. Опять намудрил. Извиняйте....
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |