我的存储procedeur这样的:ORDER BY子句在视图,内联函数,派生表无效,子查询
alter PROCEDURE [dbo].[ParkingDeatailsReportnewstack]
@startdate NVARCHAR(100),
@enddate NVARCHAR(100)AS
BEGIN
DECLARE @cols AS NVARCHAR(MAX) , @query AS NVARCHAR(MAX)
SELECT @cols = STUFF(( SELECT DISTINCT ',' + QUOTENAME(Vtype)
FROM dbo.VType_tbl FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
SET @query =
'SELECT LocName,Date, ' + @cols + '
from (
select l.LocName,v.Vtype, convert(date, dtime) as Date
from Transaction_tbl t
join VType_tbl v on t.vtid = v.vtid
join dbo.Location_tbl l on t.locid=l.Locid
where dtime between ''' + @startdate + ''' and ''' + @enddate + ''' order by l.LocName
) d
pivot (
count(Vtype) for Vtype in (' + @cols + ')
) p '
EXEC sys.sp_executesql @query
End
我想我的升序LOCNAME但同时也让 为了通过l.LocName收到错误:ORDER BY子句在视图,内联函数,派生表无效,子查询
你试过在你的透视后移动ORDER BY LocName吗?那么''p'后面呢? – Taryn
对于它的价值,存储过程不需要'BEGIN'和'END'语句。 – ErikE
我尝试用p后,移动为了那个时候我收到错误这样的“多部分组成的标识符‘l.LocName’无法绑定 – user2648161