ging durch die Post ist hier, aber immer noch nicht in der Lage, das gleiche zu tun. bitte irgendjemand eine Idee haben, teilen Sie mich bitte.Wie eliminiere ich Duplikate Datensätze in Sql mit inneren join sql
SELECT DISTINCT
TR.Id as Travel_RequestId,
TREP.FirstName+' '+TREP.LastName as [Traveler Name],
TR.EmployeeNo,
TR.RequestNO,
TravelType=(case TR.IsOneWay
when '1' THEN 'OW'
ELSE 'RT'
END),
TRPD.SWONCode,
cast(TRD.GESSReceivedDate as date) as GESSReceivedDate,
TRD.Deal,
TRD.AirLineCode,
cast(TRD.DepartureDate as date) as Departure_Date,
cast(TRD.TentativeReturnDate as date) as Tentative_Return_Date,
cast(TRTD.IssuanceDate as Date) as Tcket_IssuanceDate,
TRTD.DeskName,
(select Description from AirlineName where Code=TRD.AirlineNameCode) as Airline,
(select Description from Currency where Code=TRID.CurrencyTypeCode) as CurrencyType,
case when (isnumeric(TRTD.BaseFare) & isnumeric(TRTD.ServiceFee)) =1 then
(convert(float, TRTD.BaseFare)+convert(float, TRTD.ServiceFee))
else
null
end as TicketAmount,
TRTD.Number As [Ticket Number],
TRTD.AgentName,
cast(TRID.IssueDate as date) As InvoiceDate,
cast(TRID.CreditNoteDate as date) as CreditNoteDate,
TRID.CreditNoteNumber,
TRID.CreditNoteAmount,
TRID.AmountPayable,
TRTD.TotalFare,
TRTD.DeskName,
TRID.InvoiceAmount,
TRID.InvoiceNumber,
TRID.CurrencyTypeCode,
TRID.AdcolAmount,
TRID.ChqNo,
TM.Description as Travel_Mode,
TRID.Statement,
TRD.Sector As Itineary,
TRD.ServiceClass As ClassOfTravel
from TravelRequest TR LEFT JOIN(SELECT mt.*
FROM TravelRequestDetails mt INNER JOIN
(
SELECT travelrequestId, MIN(DepartureDate) DepartureDate
FROM TravelRequestDetails
GROUP BY travelrequestId
) t ON mt.travelrequestId = t.travelrequestId AND mt.DepartureDate = t.DepartureDate)TRD ON TRD.TravelRequestId =TR.Id
left join TravelRequestEmployeeProfile TREP
on TREP.TravelRequestId=TRD.TravelRequestId
left join TravelRequestProjectDetails TRPD
on TRPD.TravelRequestId=TRD.TravelRequestId
left join TravelMode TM
on TM.Code=TRPD.TravelModeCode
left join TravelRequestTicketDetails TRTD
on TRTD.TravelRequestId=TRD.TravelRequestId
left join TravelRequestInvoiceDetails TRID
on TRID.TravelRequestId=TRD.TravelRequestId
where TR.Status='CL' and TR.RequestType='BT'
and TR.UpdatedOn Between DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()-1), 0) + '18:01'
AND DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0) + '18:00' order by [Traveler Name]
Ich erhalte die unten o/p, wo ich die Null-Datensätze entfernen müssen:
Unten ist der Screenshot und ich brauche die Vervielfältigung auf Anfrage nicht in markierte Zeile basierend entfernen
diese Zeilen nicht dupliziert wurden. Anfrage Nein ist gleich, aber andere Informationen sind anders – bmsqldev
Sie müssen Ihre vollständigen Anforderungen zur Frage hinzufügen, und vielleicht die Strukturen der Tabellen, denen Sie beitreten. – user1666620
Bitte lesen Sie das? http://stackoverflow.com/help/mcve Wenn Sie selbst daran arbeiten, das Problem zu isolieren und ein * minimales * Beispiel zu finden, können Sie es selbst lösen und feststellen, dass Sie dabei selbst lernen. Selbst wenn Sie das nicht tun, werden Sie eine viel sauberere Frage haben und bessere Antworten von hier bekommen. – MatBailie