Получение повторений вывода, возможно, что-то не так? - PullRequest
0 голосов
/ 17 июня 2019

У меня проблема с получением неправильных значений в выводе. Я связываю выделенный ниже столбец таблицы с обведенным кружком столбцом внизу. Service_id в выделенном столбце является уникальным, но мне нужно связать booking_id для получения информации (если это имеет смысл. В результате я получаю верхнюю таблицу, в которой я получаю повторы, или цена неправильная. Я должен получать только 5 строк в верхней таблице.

enter image description here

Вот мой код. Я подозреваю, что могу сделать соединение неправильно?

SELECT bad.agent as Agents,
dog.SUPPLIER as SUPPLIER,
bad.status as TheStatus,
country.analysis_master1 as Country,
ftb.booking_actual_retail as BookingActualRetail,
ftb.Booking_Actual_Cost as BookingCost,
ftb.Booking_Actual_Retail_inc as BookingRetailINC,
fts.Service_Id,
fts.Service_Actual_Retail_inc as ServiceActualCostInc,
Product.SERVICE,
Product.SL_STATUS as SLSTATUS,
cat.name as Product2,
bad.LAST_SERVICE_DATE as Servicedate,
bad.LW_DATE as LWDATE,
ftb.Entered_Date as DATEENTERED,
ftb.Booking_Pax as PEOPLE,
ftb.Booking_Children as KIDS,
bad.TRAVELDATE as TRAVELDATE,
bad.FULL_REFERENCE
from BHD bad
inner join FTB on bad.FULL_REFERENCE = ftb.booking_reference
inner join FTS on FTB.Booking_Id = fts.Booking_Id
inner join DRM Country on bad.agent = country.code
inner join BSL Product on bad.BHD_ID = Product.BHD_ID
inner join SRV cat on Product.SERVICE = cat.CODE
inner join OPT dog on Product.OPT_ID = dog.OPT_ID
where bad.STATUS = 'IV' AND bad.FULL_REFERENCE = 'LTIT129488'

UPDATE:

Хорошо, похоже, это соединение приводит к нескольким выходам:

inner join FTS on FTB.Booking_Id = fts.Booking_Id

Я включил две таблицы, их заголовки и примеры данных

enter image description here

enter image description here

enter image description here

1 Ответ

1 голос
/ 17 июня 2019

Вы где-то неправильно указали соединение для службы или поставщика. Пожалуйста, проверьте эту строку еще раз.

inner join SRV cat on Product.SERVICE = cat.CODE

as per the screenshot you have provided see the multiple service acreoss the same product

ОБНОВЛЕННОЕ РЕШЕНИЕ:

Согласно вашим обновленным скриншотам, я обнаружил проблему ... вы присоединились вот так.

    inner join FTB on bad.FULL_REFERENCE = ftb.booking_reference

В этом объединении ваша единственная таблица имеет одну запись против ссылки на бронированиев то время как другой имеет несколько записей против бронирования бронирования.Вот почему вы получаете несколько записей в выводе.

enter image description here

Удалите это объединение, и ваша проблема будет решена.Если вы действительно хотите получить данные из этой таблицы, вы можете выбрать другой способ, например, с помощью внешнего применения и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...