我有以下5个表:
TABLE OLD_A ( CID, CNO, CNAME )
TABLE OLD_B ( DID, DNO, DNAME )
TABLE OLD_MAP ( CID, DID, TERRITORY )
TABLE NEW_A ( NCID, NCNO, NCNAME )
TABLE NEW_MAP ( NCNO, DNO, TERRITORY )
我想从新旧表中获取CNO
和CNAME
,因此我进行了以下查询
DECLARE@TERRITORY varchar(16), @DNO varchar(16)
SELECT RESULT.`enter code here`CNO as CNO, RESULT.CNAME as CNAME, RESULT.Is_New_Or_Old as Is_New_Or_Old
FROM
(
(SELECT C.CNO as CNO, C.CNAME as CNAME, 'OLD' AS Is_New_Or_Old [OLD_A] AS C LEFT JOIN [OLD_MAP] AS DCL ON C.ID = DCL.CID JOIN [OLD_B] AS D ON DCL.DID = D.ID WHERE C.TERRITORY = @TERRITORY AND D.DNO = @DNO )
UNION ALL
(SELECT NC.NCNO as CNO, NC.CNAME as CNAME, 'NEW' AS Is_New_Or_Old FROM [NEW_A] AS NC LEFT JOIN [NEW_MAP] AS CDTL ON NC.NCNO = CDTL.NCNO WHERE CDTL.DNO = @DNO AND CDTL.Territory_Id = @TERRITORY)
) RESULT
ORDER BY CNO
但它给了我错误
Incorrect syntax near ')'.
最后一次)
答案 0 :(得分:2)
在FROM
'OLD' AS Is_New_Or_Old
简单格式化可以避免这些错误