Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Технологии > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 11.11.2018, 02:12   #1
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 383
Репутация: 16
По умолчанию SQL - Помогите склеить 2 запроса, если можно

Доброе время суток,
Использую 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")

Заранее спасибо за ответ
P.S.
или тут без внутренней процедуры не обойтись?
KBO вне форума   Ответить с цитированием
Старый 11.11.2018, 03:07   #2
KBO
Форумчанин
 
Регистрация: 11.06.2010
Сообщений: 383
Репутация: 16
По умолчанию

нашел, что второй запрос можно написать так:

Код:

select list(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" но как?
KBO вне форума   Ответить с цитированием
Старый 12.11.2018, 10:27   #3
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,762
Репутация: 2097
По умолчанию

Цитата:
и теперь его результат осталось объединить с результатом первого запроса по полю "PROPOSAL_ID" но как?
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
__________________
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите,полностью решение,если можно ksN` Паскаль 1 24.01.2018 19:07
Помогите пожалуйста решить ассемблер, если можно с комментариями. Светлана55 Помощь студентам 1 17.11.2017 10:14
Помогите глупой мне))) С формой если можно) KatarinaDe Lazarus, Free Pascal, CodeTyphon 4 11.11.2015 10:21
Эпоксида. Можно склеить наушники (скрин внутри). Ни разу не пользовался. TwiX Свободное общение 7 14.11.2011 01:41
Помогите с запросом SQL. Ошибка синтаксиса в выражении запроса. ZiG24RUS Microsoft Office Access 1 19.05.2009 06:29


23:41.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru