Sql server 2008 “多部分标识符”;T0.LocCode“;无法约束

Sql server 2008 “多部分标识符”;T0.LocCode“;无法约束,sql-server-2008,sql-server-2008-r2,Sql Server 2008,Sql Server 2008 R2,试着这样做,先提到你的内部连接,然后是交叉连接 Alter proc [dbo].[@SMS_RPT_AllUnitsDebitNotes] ( @FromDate Date, @ToDate Date, @Location int ) as begin select T0.ItemCode [ItemCode], Sum(T0.Quantity) [Quantity], sum(T0.TotalSumSy) TotalSumSy,T0.LocCod

试着这样做,先提到你的内部连接,然后是交叉连接

Alter proc [dbo].[@SMS_RPT_AllUnitsDebitNotes]   
(
    @FromDate Date,
    @ToDate Date, 
    @Location int
)
as 
begin

select 
    T0.ItemCode [ItemCode], Sum(T0.Quantity) [Quantity], sum(T0.TotalSumSy) TotalSumSy,T0.LocCode,T0.VatPrcnt,
    T0.TaxCode,T0.WtLiable,T1.CardCode,T1.CardName,T1.NumAtCard,T1.DocNum,T1.DocDate,
    T2.Name 'Tax Name',T3.Code,T3.Name 'Description',T3.Rate,T3.SalesTax,T4.Name
from    RPC1 T0,
        ORPC T1,
        OSCT T2,
        OSTA T3,
        OSTT T4,
        OLCT l1
inner join OLCT l1 
    on l1.Code = T0.LocCode

where
    T0.DocEntry = T1.DocEntry
    and T0.LocCode =@Location  
    and  TaxDate Between @FromDate and @ToDate
group By 
    T0.ItemCode,T0.Dscription,T0.Quantity,T0.TotalSumSy,T0.LocCode,T0.VatPrcnt,
    T0.WtLiable,T0.TaxCode,T1.CardCode,T1.CardName,T1.NumAtCard,T1.DocNum,T1.DocDate,
    T2.Name ,T3.Code,T3.Name ,T3.Rate,T3.SalesTax,T4.Name
end
-在ANSI-92 SQL标准中(20多年前),旧样式的逗号分隔表列表样式被正确的ANSI
JOIN
语法所取代,不鼓励使用它
ALTER PROC [dbo].[@SMS_RPT_AllUnitsDebitNotes] (
    @FromDate DATE
    ,@ToDate DATE
    ,@Location INT
    )
AS
BEGIN
    SELECT T0.ItemCode [ItemCode]
        ,Sum(T0.Quantity) [Quantity]
        ,sum(T0.TotalSumSy) TotalSumSy
        ,T0.LocCode
        ,T0.VatPrcnt
        ,T0.TaxCode
        ,T0.WtLiable
        ,T1.CardCode
        ,T1.CardName
        ,T1.NumAtCard
        ,T1.DocNum
        ,T1.DocDate
        ,T2.NAME 'Tax Name'
        ,T3.Code
        ,T3.NAME 'Description'
        ,T3.Rate
        ,T3.SalesTax
        ,T4.NAME
    FROM RPC1 T0
    INNER JOIN ORPC T1 ON T0.DocEntry = T1.DocEntry
    INNER JOIN OLCT l1 ON l1.Code = T0.LocCode
    CROSS JOIN OSCT T2
    CROSS JOIN OSTA T3
    CROSS JOIN OSTT T4
    CROSS JOIN OLCT l1
    WHERE T0.LocCode = @Location
        AND TaxDate BETWEEN @FromDate
            AND @ToDate
    GROUP BY T0.ItemCode
        ,T0.Dscription
        ,T0.Quantity
        ,T0.TotalSumSy
        ,T0.LocCode
        ,T0.VatPrcnt
        ,T0.WtLiable
        ,T0.TaxCode
        ,T1.CardCode
        ,T1.CardName
        ,T1.NumAtCard
        ,T1.DocNum
        ,T1.DocDate
        ,T2.NAME
        ,T3.Code
        ,T3.NAME
        ,T3.Rate
        ,T3.SalesTax
        ,T4.NAME
END