服务器: 消息 170,级别 15,状态 1,行 14解决方法

服务器: 消息 170, 级别 15, 状态 1,行 14
SELECT c.ThreeCantonNumber as areano,c.ThreeCantonName,(a.FirstCantonName+b.SecondCantonName+c.ThreeCantonName) as AreaName from(
SELECT a.FirstCantonNumber, 
  b.SecondCantonNumber, 
  c.ThreeCantonNumber, a.FirstCantonName, 
  b.SecondCantonName, 
  c.ThreeCantonName
FROM dbo.T_FirstCanton a LEFT OUTER JOIN
  dbo.T_SecondCanton b ON 
  a.FirstCantonNumber = b.FirstCantonNumber LEFT
  OUTER JOIN
  dbo.T_ThreeCanton c ON 
  b.SecondCantonNumber = c.SecondCantonNumber
)
服务器: 消息 170, 级别 15, 状态 1,行 14
第 14 行: ')' 附近有语法错误。


------解决方案--------------------------------------------------------
SQL code
SELECT c.ThreeCantonNumber as areano,c.ThreeCantonName,(a.FirstCantonName+b.SecondCantonName+c.ThreeCantonName) as AreaName from(
SELECT a.FirstCantonNumber,  
  b.SecondCantonNumber,  
  c.ThreeCantonNumber, a.FirstCantonName,  
  b.SecondCantonName,  
  c.ThreeCantonName
FROM dbo.T_FirstCanton a LEFT OUTER JOIN
  dbo.T_SecondCanton b ON  
  a.FirstCantonNumber = b.FirstCantonNumber LEFT
  OUTER JOIN
  dbo.T_ThreeCanton c ON  
  b.SecondCantonNumber = c.SecondCantonNumber
) t--加个别名

------解决方案--------------------------------------------------------

   
SQL code
SELECT c.ThreeCantonNumber as areano,c.ThreeCantonName,(a.FirstCantonName+b.SecondCantonName+c.ThreeCantonName) as AreaName from(
SELECT a.FirstCantonNumber,  
  b.SecondCantonNumber,  
  c.ThreeCantonNumber, a.FirstCantonName,  
  b.SecondCantonName,  
  c.ThreeCantonName
FROM dbo.T_FirstCanton a LEFT OUTER JOIN
  dbo.T_SecondCanton b ON  
  a.FirstCantonNumber = b.FirstCantonNumber LEFT
  OUTER JOIN
  dbo.T_ThreeCanton c ON  
  b.SecondCantonNumber = c.SecondCantonNumber
) as a --别名

------解决方案--------------------------------------------------------

     
SQL code
SELECT ThreeCantonNumber as areano,ThreeCantonName,(FirstCantonName+SecondCantonName+ThreeCantonName) as AreaName from
(
SELECT a.FirstCantonNumber,  
  b.SecondCantonNumber,  
  c.ThreeCantonNumber, a.FirstCantonName,  
  b.SecondCantonName,  
  c.ThreeCantonName
FROM dbo.T_FirstCanton a LEFT OUTER JOIN
  dbo.T_SecondCanton b ON  
  a.FirstCantonNumber = b.FirstCantonNumber LEFT
  OUTER JOIN
  dbo.T_ThreeCanton c ON  
  b.SecondCantonNumber = c.SecondCantonNumber
) AS T

------解决方案--------------------------------------------------------

       
SQL code
SELECT c.ThreeCantonNumber as areano,c.ThreeCantonName,(a.FirstCantonName+b.SecondCantonName+c.ThreeCantonName) as AreaName from(
SELECT a.FirstCantonNumber,  
  b.SecondCantonNumber,  
  c.ThreeCantonNumber, a.FirstCantonName,  
  b.SecondCantonName,  
  c.ThreeCantonName
FROM dbo.T_FirstCanton a LEFT OUTER JOIN
  dbo.T_SecondCanton b ON  
  a.FirstCantonNumber = b.FirstCantonNumber LEFT
  OUTER JOIN
  dbo.T_ThreeCanton c ON  
  b.SecondCantonNumber = c.SecondCantonNumber
)tt

------解决方案--------------------------------------------------------
直接


         
SQL code
SELECT c.ThreeCantonNumber as areano,c.ThreeCantonName,(a.FirstCantonName+b.SecondCantonName+c.ThreeCantonName) as AreaName 
FROM dbo.T_FirstCanton a LEFT OUTER JOIN
  dbo.T_SecondCanton b ON  
  a.FirstCantonNumber = b.FirstCantonNumber LEFT
  OUTER JOIN
  dbo.T_ThreeCanton c ON  
  b.SecondCantonNumber = c.SecondCantonNumber

------解决方案--------------------------------------------------------
子查询必须别名


           
SQL code
SELECT ThreeCantonNumber as areano,ThreeCantonName,(FirstCantonNameA+SecondCantonNameB+ThreeCantonNameC) as AreaName from
(
SELECT a.FirstCantonNumber,  
  b.SecondCantonNumber,  
  c.ThreeCantonNumber, a.FirstCantonName AS FirstCantonNameA , 
  b.SecondCantonName AS FirstCantonNameB  ,  
  c.ThreeCantonName AS FirstCantonNameC  
FROM dbo.T_FirstCanton a LEFT OUTER JOIN
  dbo.T_SecondCanton b ON  
  a.FirstCantonNumber = b.FirstCantonNumber LEFT
  OUTER JOIN
  dbo.T_ThreeCanton c ON  
  b.SecondCantonNumber = c.SecondCantonNumber
) AS T
				

具体请点击:http://www.verydemo.com/demo_c92_i72145.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值