+ -
当前位置:首页 → 问答吧 → sql charindex 比较别的表字段什么写

sql charindex 比较别的表字段什么写

时间:2011-11-25

来源:互联网

如: 
select user.id,user.name,user.ab from user where charindex((select name from user_name),(select name_id from name_user))>0


这个什么查询,

就是这2个字段都不在同一个表,动态字段

作者: ren0594   发布时间: 2011-11-25

这不是三个表么?

作者: fredrickhu   发布时间: 2011-11-25

select user.id,user.name,user.ab from user ,user_name,name_user
where charindex(user_name.name,name_user.name_id)>0

作者: ssp2009   发布时间: 2011-11-25

++
引用 2 楼 ssp2009 的回复:
select user.id,user.name,user.ab from user ,user_name,name_user
where charindex(user_name.name,name_user.name_id)>0

作者: q465897859   发布时间: 2011-11-25

按照你的语句可以写为如下:
select t1.id,t1.name,t1.ab 
from [user] t1 , user_name t2, name_user t3
where charindex(t2.name,t3.nameid) > 0

不过你第一个表和后面两个表如何发生关系?

作者: dawugui   发布时间: 2011-11-25

表结构,表关系,还有表数据,以及结果数据
楼主贴出来

作者: pengxuan   发布时间: 2011-11-25

引用 2 楼 ssp2009 的回复:
select user.id,user.name,user.ab from user ,user_name,name_user
where charindex(user_name.name,name_user.name_id)>0

这样查,只要那两个里头有一个,那主查询的数据就都出来了.
要是那里头有两个满足记录,那查询结果就是主表两倍的数据
更多,亦然.
恐怕楼主还是要交代一下这三个表(感觉最后一个是楼主写错了)之间的关系才好下手,否则,难以正确.

作者: qianjin036a   发布时间: 2011-11-25

SQL code
是不是这样的结果


select 
a.id,
a.name,
a.ab 
from [user]  as a,[user_name] as b,[name_user] as c  
where a.Name=b.Name and a.ID=c.name_id

作者: roy_88   发布时间: 2011-11-25

引用楼主 ren0594 的回复:
如:
select user.id,user.name,user.ab from user where charindex((select name from user_name),(select name_id from name_user))>0


这个什么查询,

就是这2个字段都不在同一个表,动态字段

这样多大意义,查询会出错,select name from user_name,select name_id from name_user,返回结果应该都是结果集。根据微软解释CHARINDEX ( expression1 ,expression2 [ , start_location ] ) 
 
参数expression1 ,expression2,都是字符串, start_location,查询开始位置。

作者: xiaodalei   发布时间: 2011-11-25