Последние записи
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
12th
Ноя
Как склеить два SQL запроса
Posted by obzor under sql
Использую FireBird 3.0
Есть рабочий запрос:
select p.*, pr.NUMBER_IN as NUMBER_IN_PR, c.EXECUTE_BEGIN as EXECUTE_BEGIN_C,
c.EXECUTE_END as EXECUTE_END_C, c.CLIENT_ID as CLIENT_ID_C,
c.PDV as PDV_C, c.PDV_WITHOUT as PDV_WITHOUT_C, c.PDV_TOTAL as PDV_TOTAL_C,
c.FIRST_PART_NUMBER_CONTRACT as FIRST_PART_NUMBER_CONTRACT_C,
c.CREATE_NUMBER as CREATE_NUMBER_C from PLAN_D p join CONTRACT c on
p.CONTRACT_ID = c.ID join PROPOSAL pr on pr.ID = c.PROPOSAL_ID
where c.SEND_STATUS = 1 and p.ARCHIVE = 1 order by p.ID
он выдает строки результата.
К каждой строке этого результата желательно прикрепить еще один запрос:
select distinct(sw.NAME_SORT_WORK) from DEVICES d
join SORT_WORK sw on d.SORT_WORK_ID = sw.ID where d.PROPOSAL_ID = 1
результатом этого запроса, также могут стать несколько строк.
Мне нужно результат второго запроса превратить в строку (перечисление через запятую), и вставить в новое поле первого запроса. Ключевое поле объединения = «PROPOSAL_ID» (которое есть и в таблице «CONTRACT» и в таблице «DEVICES«)
1. второй запрос для ВСЕХ возможных(имеющихся) proposal_id
select proposal_id, list(...)
from ...
group by proposal_id
2. а теперь можно просто объединить два подзапроса
select ....
from ( --первый запрос
select ....
) as first
left join ( --второй запрос
select ...
) as second on second.proposal_id =first.proposal_id
2.1. можно к первому запросу присоединить подзапрос
select …
from …
left join ( —второй запрос как подзапрос
select …
) as second on ???.proposal_id =second.proposal_id
??? —где (в какой таблице) в первом запросе есть это поле proposal_id
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)