【发布时间】:2014-08-16 01:01:19
【问题描述】:
DECLARE @OrderBy VARCHAR(100)
SET @OrderBy='DealerCode ASC'
SELECT DISTINCT TOP (10)
d.Id, d.DealerCode,d.AffiliationCode,d.LegalName,d.ShipperCode,d.PrimaryUserId,d.PrimaryContactId,d.Zip,
d.Address1,d.Address2,d.IsActive,u.IsActive,d.City,d.[State],c.Name,u.UserName,d.RegistrationIntiatedDate,
d.RegistrationCompletedDate,
rs.[Description],u.EntityId,dbo.fnGetCheckHours(d.Id)
FROM Dealer d
LEFT JOIN [User] u ON d.PrimaryUserId=u.Id
LEFT JOIN RegistrationSource rs ON d.RegistrationSourceId=rs.Id
LEFT JOIN Country c ON d.CountryId=c.id
LEFT JOIN ShippingNote sn ON d.Id=sn.DestinationId
LEFT JOIN Yard y ON sn.YardID=y.Code
LEFT JOIN Terminal t ON y.TerminalId=t.Id
WHERE t.Id='9a77168f-e5b6-4dd0-b26e-f95249c8e189' AND sn.destinationtype='Dealer'
ORDER BY +'d.'+@OrderBy
但我遇到以下错误:
消息 145,级别 15,状态 1,行 4 如果指定了 SELECT DISTINCT,则 ORDER BY 项必须出现在选择列表中。
我也在使用 CASE 但我再次遇到上述错误
【问题讨论】:
-
如果您想以这种方式执行此操作,您需要将整个查询包装在一个字符串中并执行该字符串
标签: sql sql-server