![]() |
|
Запрос. | ☑ | ||
---|---|---|---|---|
0
Vladislava-smile
26.01.15
✎
03:59
|
Не правильно работает запрос.
Помогите разобраться, пжлст. Есть 3 связанных документа - Планирование, расчет, корректировка. Если все 3 документа созданы, то запрос работает, если же корректировки просто нет, док-т планирования он не выводит. ВЫБРАТЬ ДЭМ_ПланированиеЗаказаИзделия.Ссылка.Ссылка, ДЭМ_ПланированиеЗаказаИзделия.Количество, ДЭМ_ПланированиеЗаказаИзделия.РасчетСтоимости.Ссылка, ДЭМ_ПланированиеЗаказаИзделия.РасчетСтоимости.ИтогоТрудоемкость, ДЭМ_КорректировкаСтоимостиИзделияТрудозатраты.Ссылка.Ссылка КАК Ссылка1, СУММА(ДЭМ_КорректировкаСтоимостиИзделияТрудозатраты.СуммарнаяТрудоемкость) КАК СуммарнаяТрудоемкость, ДЭМ_КорректировкаСтоимостиИзделияТрудозатраты.Ссылка.ДокРасчетСтоимостиИзделия.Ссылка, ДЭМ_ПланированиеЗаказаИзделия.Количество * ДЭМ_ПланированиеЗаказаИзделия.РасчетСтоимости.ИтогоТрудоемкость КАК Поле1 ИЗ Документ.ДЭМ_ПланированиеЗаказа.Изделия КАК ДЭМ_ПланированиеЗаказаИзделия ЛЕВОЕ СОЕДИНЕНИЕ Документ.ДЭМ_КорректировкаСтоимостиИзделия.Трудозатраты КАК ДЭМ_КорректировкаСтоимостиИзделияТрудозатраты ПО (ДЭМ_ПланированиеЗаказаИзделия.РасчетСтоимости.Ссылка = ДЭМ_КорректировкаСтоимостиИзделияТрудозатраты.Ссылка.ДокРасчетСтоимостиИзделия.Ссылка) ГДЕ ДЭМ_ПланированиеЗаказаИзделия.Ссылка.Проведен = ИСТИНА И ДЭМ_ПланированиеЗаказаИзделия.РасчетСтоимости.Проведен = ИСТИНА И ДЭМ_КорректировкаСтоимостиИзделияТрудозатраты.Ссылка.Проведен = ИСТИНА СГРУППИРОВАТЬ ПО ДЭМ_ПланированиеЗаказаИзделия.Ссылка.Ссылка, ДЭМ_ПланированиеЗаказаИзделия.Количество, ДЭМ_ПланированиеЗаказаИзделия.РасчетСтоимости.Ссылка, ДЭМ_ПланированиеЗаказаИзделия.РасчетСтоимости.ИтогоТрудоемкость, ДЭМ_КорректировкаСтоимостиИзделияТрудозатраты.Ссылка.Ссылка, ДЭМ_КорректировкаСтоимостиИзделияТрудозатраты.Ссылка.ДокРасчетСтоимостиИзделия.Ссылка |
|||
1
SeraFim
26.01.15
✎
04:19
|
Условие "ДЭМ_КорректировкаСтоимостиИзделияТрудозатраты.Ссылка.Проведен = ИСТИНА"
поставь в условие соединения |
|||
2
Escander
26.01.15
✎
04:21
|
(1) +1, ГДЕ отрабатывает после соединение, Неопределено != Истина.
|
|||
3
SeraFim
26.01.15
✎
04:27
|
Кстати:
1) Нужна фотка! 2) Нужно больше Ссылок!!! |
|||
4
Vladislava-smile
26.01.15
✎
04:29
|
(1) - не помогло
ИЗ Документ.ДЭМ_КорректировкаСтоимостиИзделия.Трудозатраты КАК ДЭМ_КорректировкаСтоимостиИзделияТрудозатраты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ДЭМ_ПланированиеЗаказа.Изделия КАК ДЭМ_ПланированиеЗаказаИзделия ПО (ДЭМ_КорректировкаСтоимостиИзделияТрудозатраты.Ссылка.Проведен = ИСТИНА) И (ДЭМ_КорректировкаСтоимостиИзделияТрудозатраты.Ссылка.ДокРасчетСтоимостиИзделия.Ссылка = ДЭМ_ПланированиеЗаказаИзделия.РасчетСтоимости.Ссылка) |
|||
5
SeraFim
26.01.15
✎
04:36
|
(4) Таблицы местами поменяй)
Что к чему присоединяешь-то?))) |
|||
6
Vladislava-smile
26.01.15
✎
04:38
|
Ну да, просто от незнания в чем проблема уже и так экспериментировала. Все равно не работает.
ИЗ Документ.ДЭМ_КорректировкаСтоимостиИзделия.Трудозатраты КАК ДЭМ_КорректировкаСтоимостиИзделияТрудозатраты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ДЭМ_ПланированиеЗаказа.Изделия КАК ДЭМ_ПланированиеЗаказаИзделия ПО (ДЭМ_КорректировкаСтоимостиИзделияТрудозатраты.Ссылка.Проведен = ИСТИНА) И (ДЭМ_ПланированиеЗаказаИзделия.РасчетСтоимости.Ссылка = ДЭМ_КорректировкаСтоимостиИзделияТрудозатраты.Ссылка.ДокРасчетСтоимостиИзделия.Ссылка) |
|||
7
SeraFim
26.01.15
✎
04:39
|
эээ... и что поменялось?)
|
|||
8
SeraFim
26.01.15
✎
05:01
|
Ладно, фотку вроде бы нашел, поэтому попробую объяснить, в чем проблема)
Ты берешь записи одной таблицы (ДЭМ_ПланированиеЗаказа.Изделия) и присоединяешь другую (ДЭМ_КорректировкаСтоимостиИзделия.Трудозатраты). ЛЕВОЕ соединение означает, что берутся ВСЕ записи из первой и только НЕКОТОРЫЕ (соответствующие условию) из второй. Поэтому очень важно какая таблица к какой присоединяется. Далее, ошибка в (0) заключается в следующем: Ты берешь ПланированиеЗаказа, но корректировки у тебя нету. Поэтому в ДЭМ_КорректировкаСтоимостиИзделияТрудозатраты.Ссылка.Проведен у тебя нету ничего! Это "Ничего" обозначается NULL И потом у тебя проверяется NULL = ИСТИНА - ложное утверждение, поэтому в итоговой выборке ничего не получается. ВЫБРАТЬ
|
|||
9
Vladislava-smile
26.01.15
✎
05:39
|
Ааа, спасибо за объяснение большое, теперь понятно.
|
|||
10
Vladislava-smile
26.01.15
✎
05:49
|
А если нам нужно сравнить поле по трудоемкости в расчете и корректировке, и если они различны, выбирать данные из корректировки через что нужно делать? Я просто создаю отчет через СКД и там соответственно все через запрос надо писать. Намекните хотя бы в какую сторону шагать?
|
|||
11
SeraFim
26.01.15
✎
06:02
|
ВЫБОР
КОГДА <УСЛОВИЕ ЧТО РАЗЛИЧНЫЕ> ТОГДА <ПОЛЕ ИЗ КОРРЕКТИРОВКИ> ИНАЧЕ <ПОЛЕ ИЗ РАСЧЕТА> КОНЕЦ |
|||
12
Vladislava-smile
26.01.15
✎
06:08
|
Он же вставляется после ГДЕ? На примерах тоже самое нашла, но он ругается, синтаксическая ошибка пишет
|
|||
13
Vladislava-smile
26.01.15
✎
08:41
|
Спасибо, разобралась.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |