2010-12-09 129 views
0

我的问题是LAME。我知道!但我无法弄清楚,但!这是我想要做的: 我有一组记录,它在“JobNumber”和“JobID”处重复。这里是我的查询选择记录:选择DISTINCT记录

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值。我得到了两个相同的记录。

感谢您的帮助:)

+2

有滚动条,没有读。没有阅读,没有帮助... – 2010-12-09 21:26:04

+0

**你需要学习更好地设置你的代码的格式!** +1给任何想看那个凌乱的SQL的人! yuck – 2010-12-09 21:26:42

回答

3

如果其他所有的信息是相同的,只需要添加一个“DISTINCT”到您的查询。

注意:表别名真的帮助与可读性....