|
Как преобразовать несколько строк запроса в одну в запросе? | ☑ | ||
---|---|---|---|---|
0
Родом из детства
28.12.21
✎
15:15
|
Добрый день, и с наступающем, товарищи.
Задача следующая: У нас есть р/с, который хранит в себе загруженные в производственный котёл материалы, по некоторым типам(композиции). То есть: Номенклатура | Хар-ка | тип Композиции | Вес загружено - ЭТО ВРЕМЕННАЯ ТАБЛИЦА "ВТ_ЗагруженныеМатериалы" ном1 хар1 ПВД 5 ном2 хар2 ПВД 5 ном3 хар3 ПНД 3 ном4 хар4 ЛИН 4 Нужно преобразовать данную таблицу в следующую: ВсегоПВД | ВсегоПНД | ВсегоЛИН 10 3 4 Делал так: |ВЫБРАТЬ | ЗагруженныеВКотёлМатериалы.Номенклатура КАК Номенклатура, | ЗагруженныеВКотёлМатериалы.Характеристика КАК Характеристика, | ЗагруженныеВКотёлМатериалы.Упаковка КАК Упаковка, | ЗагруженныеВКотёлМатериалы.ВидКомпозиции КАК ВидКомпозиции, | ЗагруженныеВКотёлМатериалы.ВесНетто КАК ВесНетто, | ЗагруженныеВКотёлМатериалы.Количество КАК Количество |ПОМЕСТИТЬ ВТ_ЗагруженныеВКотёлМатериалы |ИЗ | РегистрСведений.ЗагруженныеВКотёлМатериалы КАК ЗагруженныеВКотёлМатериалы |ГДЕ | ЗагруженныеВКотёлМатериалы.Период МЕЖДУ &НачалоПериода И &ОкончаниеПериода | И НЕ ЗагруженныеВКотёлМатериалы.Распределена | И ЗагруженныеВКотёлМатериалы.ПроизводственнаяПлощадка = &ПроизводственнаяПлощадка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СУММА(ЕСТЬNULL(ВТ_ЗагруженныеВКотёлМатериалы1.ВесНетто, 0)) КАК ЗагруженоПВД, | СУММА(ЕСТЬNULL(ВТ_ЗагруженныеВКотёлМатериалы2.ВесНетто, 0)) КАК ЗагруженоПНД, | СУММА(ЕСТЬNULL(ВТ_ЗагруженныеВКотёлМатериалы3.ВесНетто, 0)) КАК ЗагруженоЛИН |ПОМЕСТИТЬ ВТ_ЗагруженныеВКотёлМатериалыСгруп |ИЗ | ВТ_ЗагруженныеВКотёлМатериалы КАК ВТ_ЗагруженныеВКотёлМатериалы | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЗагруженныеВКотёлМатериалы КАК ВТ_ЗагруженныеВКотёлМатериалы1 | ПО ВТ_ЗагруженныеВКотёлМатериалы.Номенклатура = ВТ_ЗагруженныеВКотёлМатериалы1.Номенклатура | И ВТ_ЗагруженныеВКотёлМатериалы.Характеристика = ВТ_ЗагруженныеВКотёлМатериалы1.Характеристика | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЗагруженныеВКотёлМатериалы КАК ВТ_ЗагруженныеВКотёлМатериалы2 | ПО ВТ_ЗагруженныеВКотёлМатериалы.Номенклатура = ВТ_ЗагруженныеВКотёлМатериалы2.Номенклатура | И ВТ_ЗагруженныеВКотёлМатериалы.Характеристика = ВТ_ЗагруженныеВКотёлМатериалы2.Характеристика | ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ЗагруженныеВКотёлМатериалы КАК ВТ_ЗагруженныеВКотёлМатериалы3 | ПО ВТ_ЗагруженныеВКотёлМатериалы.Номенклатура = ВТ_ЗагруженныеВКотёлМатериалы3.Номенклатура | И ВТ_ЗагруженныеВКотёлМатериалы.Характеристика = ВТ_ЗагруженныеВКотёлМатериалы3.Характеристика |ГДЕ | ВТ_ЗагруженныеВКотёлМатериалы1.ВидКомпозиции = &ПеречислениеВидыПолиэтиленаКомпозицииПВД | И ВТ_ЗагруженныеВКотёлМатериалы2.ВидКомпозиции = &ПеречислениеВидыПолиэтиленаКомпозицииПНД | И ВТ_ЗагруженныеВКотёлМатериалы3.ВидКомпозиции = &ПеречислениеВидыПолиэтиленаКомпозицииЛИН |; Результат пустой, может, кто-нибудь сможет помочь?) |
|||
1
lEvGl
гуру
28.12.21
✎
15:27
|
что за ерунда..
но пустой потому что в ВТ помещается |
|||
2
Родом из детства
28.12.21
✎
15:29
|
(1) не понял
|
|||
3
lEvGl
гуру
28.12.21
✎
15:30
|
(2) что именно
|
|||
4
Родом из детства
28.12.21
✎
15:31
|
(3) почему он должен быть пустым при помещении в ВТ?
|
|||
5
Кир Пластелинин
28.12.21
✎
15:35
|
закономерно пустой из-за второго пакета и условия. что мешает объединить? 3 вт, каждая со своим "видом композиции"
|
|||
6
Родом из детства
28.12.21
✎
15:37
|
(5) там же левое соединение
|
|||
7
Родом из детства
28.12.21
✎
15:37
|
Насчет объединения - да, должно сработать, спасиб
|
|||
8
Кир Пластелинин
28.12.21
✎
15:38
|
(6) а условие в "где" не смущает?
|
|||
9
Родом из детства
28.12.21
✎
15:39
|
(8) это условие же не к основной таблице, с которой мы соединяем, а к подтаблицам
|
|||
10
Родом из детства
28.12.21
✎
15:40
|
А стоп, там же последовательность другая, ну да
|
|||
11
lEvGl
гуру
28.12.21
✎
15:42
|
но пустой все равно из за вт
|
|||
12
patapum
28.12.21
✎
16:39
|
А зачем ты таблицу с ней же 3 раза соединяешь?
Вычисляй каждое поле выбором, и все. СУММА(ВЫБОР КОГДА ВТ_ЗагруженныеВКотёлМатериалы.ВидКомпозиции = &ПеречислениеВидыПолиэтиленаКомпозицииПВД ТОГДА ВТ_ЗагруженныеВКотёлМатериалы1.ВесНетто ИНАЧЕ 0 КОНЕЦ) КАК ЗагруженоПВД |
|||
13
МихаилМ
28.12.21
✎
16:56
|
А если добавится 4-й тип пленки - Ваш запрос нужно будет переделывать.
те - говнокод. |
|||
14
H A D G E H O G s
28.12.21
✎
16:59
|
Загруженные в котел материалы порадовали счоей незамутненной абстракцией.
Работники из ада пожаловали на форум. |
|||
15
lEvGl
гуру
28.12.21
✎
17:30
|
(14) абстракция что надо, проги далеки от реалий
(13) да хрен знает, что ему там нужно, так то скд нарисует как надо и с новыми и без старых он так и не увидел второе помещение в вт.. веревки и мыла |
|||
16
Said_We
17.01.22
✎
12:11
|
(0) Левое соединение не нужно. Обычный выбор когда по каждому полю из одной таблицы и три суммы.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |