当前位置: 代码迷 >> Sql Server >> SQL语句 写法
  详细解决方案

SQL语句 写法

热度:430   发布时间:2016-04-24 10:43:22.0
求一个SQL语句 写法!
如何 让语句 "一" 查询出来的值等于语句  "二"  的ID!
现在我自己简单弄了下 但是会提示 类型不符
SELECT * FROM userinfo
WHERE id IN (SELECT chanyurenid FROM hr_Training_records WHERE id=131)


现在语句一、
SELECT chanyurenid FROM hr_Training_records WHERE id=131
查询结果集:
chanyurenid (nvarchar)
122,195,196,193,215,216

语句二、
SELECT id FROM userinfo 
查询结果集:
id  (int)  
122
195
196
193
215
216

------解决方案--------------------
引用:
Quote: 引用:

SELECT  *
FROM    userinfo U
WHERE   EXISTS ( SELECT 1
                 FROM   hr_Training_records H
                 WHERE  CHARINDEX(chanyurenid, CONVERT(VARCHAR, U.id)) > 0 )   --转换一下


怎么没看明白呢,查询出来也没有数据!


写反了
SELECT  *
FROM    userinfo U
WHERE   EXISTS ( SELECT 1 
FROM   hr_Training_records H
where charindex(','+convert(varchar,u.id)+',',','+chanyurenid+',')>0)
------解决方案--------------------

select * 
 from userinfo a
 where exists 
 (select 1 
  from hr_Training_records b
  where b.id=131 and charindex(','+rtrim(a.id)+',',','+b.chanyurenid+',',1)>0)
  相关解决方案