请帮忙看一下,这个在ACCESS查询中可以正常执行的查询语句在SQL SERVER的查询中却提示异常,请帮忙看一下是什么原因
请帮忙看一下,这个在ACCESS查询中可以正常执行的查询语句在SQL SERVER的查询中却提示错误,请帮忙看一下是什么原因
SELECT sum(购买金额) as 合计金额 FROM
(
SELECT * FROM sdjl WHERE 用户编号 = 2 AND 票据单号 = 7 AND 操作类型 = '购买' AND 有效性 = '有效'
Union
SELECT * FROM sdjl b1 WHERE 用户编号 = 2 AND 票据单号 = 7 AND 操作类型 = '购买' AND 有效性 = '无效'
AND 修正次数 =
(
SELECT MAX(修正次数) FROM sdjl b2 WHERE 用户编号 = 2 AND 票据单号 = 7
AND 操作类型 = '购买' AND 有效性 = '无效' AND b2.表序号 = b1.表序号
)
)
这个语句在ACCESS中执行正常,但是在SQL SERVER2000中执行时却提示 最后的插号存在语法错误,请问如何处理。谢谢大家。
------解决思路----------------------
------解决思路----------------------
最后的右括号后边加个空格,再随便打一个字符串,例如 abc temp resulttb 等等,所谓的别名,你懂得。
------解决思路----------------------

------解决思路----------------------
连空格都不用也可以的~
SELECT sum(购买金额) as 合计金额 FROM
(
SELECT * FROM sdjl WHERE 用户编号 = 2 AND 票据单号 = 7 AND 操作类型 = '购买' AND 有效性 = '有效'
Union
SELECT * FROM sdjl b1 WHERE 用户编号 = 2 AND 票据单号 = 7 AND 操作类型 = '购买' AND 有效性 = '无效'
AND 修正次数 =
(
SELECT MAX(修正次数) FROM sdjl b2 WHERE 用户编号 = 2 AND 票据单号 = 7
AND 操作类型 = '购买' AND 有效性 = '无效' AND b2.表序号 = b1.表序号
)
)
这个语句在ACCESS中执行正常,但是在SQL SERVER2000中执行时却提示 最后的插号存在语法错误,请问如何处理。谢谢大家。
------解决思路----------------------
with t
as
(
SELECT * FROM sdjl WHERE 用户编号 = 2 AND 票据单号 = 7 AND 操作类型 = '购买' AND 有效性 = '有效'
Union
SELECT * FROM sdjl b1 WHERE 用户编号 = 2 AND 票据单号 = 7 AND 操作类型 = '购买' AND 有效性 = '无效'
AND 修正次数 =
(
SELECT MAX(修正次数) FROM sdjl b2 WHERE 用户编号 = 2 AND 票据单号 = 7
AND 操作类型 = '购买' AND 有效性 = '无效' AND b2.表序号 = b1.表序号
)
)
SELECT sum(购买金额) as 合计金额 FROM t
------解决思路----------------------
最后的右括号后边加个空格,再随便打一个字符串,例如 abc temp resulttb 等等,所谓的别名,你懂得。
------解决思路----------------------
------解决思路----------------------
连空格都不用也可以的~