我的问题是LAME。我知道!但我无法弄明白呢!这是我想要做的: 我有一组记录,在'JobNumber'和'JobID'中是重复的。这是我的选择记录的查询:
SELECT dbo.InvoiceLineDetail.JobNumber,
dbo.InvoiceLineDetail.PatientName,
dbo.InvoiceLineDetail.CustomerAccountName AS Name,
COALESCE(InvoiceLineDetail.ShipAddressAddr2 + ' ',
'') + COALESCE(InvoiceLineDetail.ShipAddressAddr3+' ',
'') + COALESCE(InvoiceLineDetail.ShipAddressAddr4 +' ',
'') + coalesce(InvoiceLineDetail.ShipAddressCity +' ',
'') + COALESCE(InvoiceLineDetail.ShipAddressState +' ',
'') + COALESCE(InvoiceLineDetail.ShipAddressCountry,
'') as [Address],
dbo.InvoiceLineDetail.ShipAddressPostalCode AS ZipCode,
dbo.JobStatus.JobTableId AS JobID,
dbo.JobStatus.OrderType,
dbo.JobStatus.ShipTrackingNumber as Tracking#,
dbo.JobStatus.ShipMethodTransmitted as TransmitMethod,
dbo.JobStatus.DateShipTransmitProcessed as DateProcessed,
dbo.JobStatus.ShipmentProcessedBy as ProcesssedBy,
dbo.JobStatus.Critical,
dbo.View_JobsToShipCount.JobsToShip,
dbo.JobStatus.ShipTransmitStatus as Status,
dbo.JobStatus.InvoiceStatus,
dbo.InvoiceLineDetail.Quantity
FROM dbo.View_JobsToShipCount
LEFT OUTER JOIN dbo.InvoiceLineDetail
ON dbo.View_JobsToShipCount.Name = dbo.InvoiceLineDetail.CustomerAccountName
LEFT OUTER JOIN dbo.JobStatus
ON dbo.InvoiceLineDetail.JobID = dbo.JobStatus.JobTableId
WHERE (dbo.InvoiceLineDetail.ChargeGroup = 'LENS') and ((dbo.JobStatus.InvoiceStatus = N'IR') OR
(dbo.JobStatus.ShipTransmitStatus = N'ReadyToShip'))
现在我希望JobNumber和JobID为UNIQUE值。我得到了两个相同的记录。
感谢您的帮助:)
答案 0 :(得分:3)
如果所有其他信息都相同,只需在查询中添加“DISTINCT”即可。
注意:表别名真的有助于提高可读性....