Как удалить дублирующуюся запись из результатов выполнения left join в SQL
Цитата:У меня есть три таблицы: таблица пользователей,таблица запросов и таблица активности .когда я делаю внутреннее и левое соединение, я получаю дубликаты записей из-за нулевых значений.
Таблица -1
user_id | user_firstName | user_lastName
1 | Джо | Смит
2 | Джон | Доу
3 | Роберт | Смит
Таблица Запросов -2
EnquiryID | CreatedBy| |
1 | 1 |
2 | 1 |
Таблица Активности - 3
Значение Activityid | Обработки| AssignedBy| Кому Назначено|
1 | 1 | null | null |
2 | 1 | 2 | 3 |
Ожидаемый результат всех трех комбинирующих результатов таков
Идентификатор запроса | | CreatedBy| AssignedBy| AssignedTO|
1 | Джо | нуль | нуль |
2 | Джо | Джон | Робер |
язык SQL:
Выберите отчетливый Е. EnquirdID как дознание,У. имя как создано ,У1.Имя как AssignedBY , У2, "имя", как кому назначено
В запросе е внутреннее соединение пользователей U на Е. имя пользователя = имя пользователя У.
внутреннее соединение активности е. запрос = А. EnquiryID
Слева присоединитесь к пользователю U1 на A. AssignedBY = U1.UserID
Левое соединение пользователей на А. кому назначено У2 = У2.ID пользователя
Я получаю дубликат записи запроса сверху запроса, даже если использую Distinct для EnquiryID
Что я уже пробовал:
SELECT DISTINCT E.EnquirdID as Enquiry,U.FirstName as CreatedBY ,U1.FirstName as AssignedBY , U2,FirstName as AssignedTO FROM Enquiry E inner join User U on E.UserID = U.UserID inner join Activity A on E.Enquiry = A.EnquiryID Left Join User U1 on A.AssignedBY = U1.UserID Left Join User U2 on A.AssignedTO = U2.UserID I am getting duplicate Enquiry record from above query even though using Distinct for EnquiryID
F-ES Sitecore
Не уверен, что я полностью понимаю этот вопрос, но если вы не хотите получать нулевые результаты, то используйте "join", а не "left join"
Member 10660835
я получаю дубликаты записей с моим запросом, который я упомянул с моими вышеприведенными данными..
как избежать дублирования записей
MadMyche
Если вы используете внутреннее соединение, то оно не вернет нулевые результаты.
Или вы могли бы добавить Где (У1.Имя пользователя не равно null)