Sql server SQL Server查询SAP Business One

Sql server SQL Server查询SAP Business One,sql-server,Sql Server,我的SQL中有一些错误,无法找出导致问题的原因。我正在使用Navicat连接到SQL Server 2000(在Windows Server 2003上)。我运行以下命令: SELECT DISTINCT OCRD.CardCode, OCRD.CardName, OCRD.Address, OCRD.ZipCode, OCRD.City, OCRD.Country, CASE OCRD.GroupCode = WHEN 100 THEN 'Kunde' WHEN 101 THEN 'Liefe

我的SQL中有一些错误,无法找出导致问题的原因。我正在使用Navicat连接到SQL Server 2000(在Windows Server 2003上)。我运行以下命令:

SELECT DISTINCT
OCRD.CardCode,
OCRD.CardName,
OCRD.Address,
OCRD.ZipCode,
OCRD.City,
OCRD.Country,
CASE OCRD.GroupCode =
WHEN 100 THEN 'Kunde'
WHEN 101 THEN 'Lieferant'
END
FROM
OCRD
INNER JOIN OINV T1 on T1.CardCode = OCRD.CardCode
WHERE
(OCRD.GroupCode != 101) AND
(OCRD.GroupNum = 8 OR
OCRD.GroupNum = 7 OR
OCRD.GroupNum = 9 OR
OCRD.GroupNum = 6 OR
OCRD.GroupNum = 5 OR
OCRD.GroupNum = 4) AND
T1.DocDate > '2012-01-01 00:00:00.000' AND
OCRD.Address IS NOT NULL AND 
(validFor = 'N' OR (validFor = 'Y' AND validTo IS NULL))
出现以下错误

[Err]42000-[SQL Server]靠近“=”的语法错误

我不明白为什么要用这个

SELECT DISTINCT
    OCRD.CardCode,
    OCRD.CardName,
    OCRD.Address,
    OCRD.ZipCode,
    OCRD.City,
    OCRD.Country,
    CASE OCRD.GroupCode          -- you must not use a = here !
         WHEN 100 THEN 'Kunde'
        WHEN 101 THEN 'Lieferant'
    END
FROM
   OCRD
INNER JOIN 
   OINV T1 on T1.CardCode = OCRD.CardCode
WHERE
   (OCRD.GroupCode != 101) AND
   (OCRD.GroupNum = 8 OR
   OCRD.GroupNum = 7 OR
   OCRD.GroupNum = 9 OR
   OCRD.GroupNum = 6 OR
   OCRD.GroupNum = 5 OR
   OCRD.GroupNum = 4) AND
   T1.DocDate > '2012-01-01 00:00:00.000' AND
   OCRD.Address IS NOT NULL AND 
   (validFor = 'N' OR (validFor = 'Y' AND validTo IS NULL))

案例的末尾没有
=
代码行

没有SQL Server 2003—我们即将推出2000、2005、2008、2008、2012和2014—那么到底是哪个呢?=它是在2003服务器上运行的2000。很抱歉