Я пытаюсь получить данные, которые существуют в нескольких разных таблицах.В частности, у меня есть таблица ошибок и таблица «сообщений» (комментариев / обновлений) об этих ошибках.Для каждой ошибки может не быть ни одного комментария, ни одного комментария или множества.Я хочу, чтобы ВСЕ ошибки возвращались, и все комментарии возвращались (хотя я хотел бы пропустить обновления), но в виде столбцов, а не одной строки на ошибку / комментарий.
Вот с чего я начал:
select
b.bg_id,
b.bg_reported_date as "Date Created",
b.bg_short_desc as "Summary",
bp.bp_comment_search as "Comment Body",
s.st_name as "Status",
p.pr_name as "Priority",
bp.bp_type as "Update Type"
from
bugs b
inner join bug_posts bp on b.bg_id = bp.bp_bug
inner join statuses s on b.bg_status = s.st_id
inner join priorities p on b.bg_priority = p.pr_id
--where bp.bp_type = 'comment'
order by b.bg_id asc
Это дало мне по одной строке для каждого комментария, а это не то, что я хочу.как вы можете видеть, я также пытался ограничить результаты включением только постов типа «комментарий», но это исключило все ошибки, у которых не было комментариев, поэтому я их убрал.
Я нашел эту статью, котораяказалось связанным: ПРИСОЕДИНЯЙТЕСЬ к SQL с отношением один ко многим
Но я не могу заставить его работать с моим запросом.вот что у меня есть на данный момент:
select
b.bg_id,
b.bg_reported_date as "Date Created",
b.bg_short_desc as "Summary",
--bp.bp_comment_search as "Comment Body",
s.st_name as "Status",
p.pr_name as "Priority",
--bp.bp_type as "Update Type"
from
bugs b
left outer join
(select bp_comment_search as "Comment Body"
from bug_posts
group by bp_bug) bp on bp.bp_bug = b.bg_id
--inner join bug_posts bp on b.bg_id = bp.bp_bug
inner join statuses s on b.bg_status = s.st_id
inner join priorities p on b.bg_priority = p.pr_id
--where bp.bp_type = 'comment'
order by b.bg_id asc
Мои знания SQL ОЧЕНЬ ограничены, но любая помощь, которую кто-либо может предоставить, была бы очень признательна.Спасибо!