首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL查询时出现“将字符串变换为 uniqueidentifier 时失败”

2012-09-02 
SQL查询时出现“将字符串转换为 uniqueidentifier 时失败”。select a.CustomerName,a.boy,b.girl from(selec

SQL查询时出现“将字符串转换为 uniqueidentifier 时失败”。
select a.CustomerName,a.boy,b.girl from 
  (select c.CustomerName,count(*) as boy from tb_masEmPersonalInfo a 
  left join tb_masEmployeeEmployer b on a.EmPersonalInfoID=b.EmPersonalInfoID
  left join tb_masCustomer c on b.CustomerID=c.CustomerID
  where a.Disabled=0
  and b.EwStatus in ('A','N') 
  and a.GenderID=1
  and c.CustomerID='@c.CustomerID'
  group by c.CustomerName) a 
  left join
  (select c.CustomerName,count(*) as girl from tb_masEmPersonalInfo a 
  left join tb_masEmployeeEmployer b on a.EmPersonalInfoID=b.EmPersonalInfoID
  left join tb_masCustomer c on b.CustomerID=c.CustomerID
  where a.Disabled=0
  and b.EwStatus in ('A','N') 
  and a.GenderID=2
  and c.CustomerID='@c.CustomerID'
  group by c.CustomerName) b on a.CustomerName=b.CustomerName
   
  union

  select '总计' as CustomerName,a.boy as 男,b.girl as 女 from 
  (select count(*) as boy from tb_masEmPersonalInfo a 
  left join tb_masEmployeeEmployer b on a.EmPersonalInfoID=b.EmPersonalInfoID
  left join tb_masCustomer c on b.CustomerID=c.CustomerID
  where a.Disabled=0
  and b.EwStatus in ('A','N') 
  and a.GenderID=1
  and c.CustomerID='@c.CustomerID') a 
  left join
  (select count(*) as girl from tb_masEmPersonalInfo a 
  left join tb_masEmployeeEmployer b on a.EmPersonalInfoID=b.EmPersonalInfoID
  left join tb_masCustomer c on b.CustomerID=c.CustomerID
  where a.Disabled=0
  and b.EwStatus in ('A','N') 
  and a.GenderID=2
  and c.CustomerID='@c.CustomerID') b on 1=1


将字符串转换为 uniqueidentifier 时失败。


[解决办法]

SQL code
--你的参数现在是这个样子的declare @p varchar(30)set @p='@c.CustomerID'select @p/*@c.CustomerID*/--应该是这个样子的declare @p1 varchar(36)set @p1=newid()select @p1/*AE9508EE-24D1-4AF2-9285-18373B*/
[解决办法]
探讨
c.CustomerID是uniqueidentifier类型的...

热点排行
Bad Request.