求一SQL语句。三个表联合查询。

vfan2010 2007-01-08 03:58:26
A表:Ids取的B表中的id,以,隔开
selName Ids
a    001,002,003

B表 
Id Naics
001  236115
002  421122
003  221100

C表
Naics   Zip  Locality
236115  9210  Local1
421122  2358  Local2
221100  9402  Local3

现在的参数是A表中的"a"与C表中的9210,2358,9402如何把Local1,Local2,Local3搜索出来呢?
...全文
703 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
facebookdotcom 2008-12-20
  • 打赏
  • 举报
回复
vfan2010 2007-01-08
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/5282/5282346.xml?temp=.6195795
再看看这个吧,谢谢了。
yk007 2007-01-08
  • 打赏
  • 举报
回复
我试验了下select PATINDEX('%200%','100,1200,')  返回的是 6 好像加个“,”还是会查到1200
nyzfl 2007-01-08
  • 打赏
  • 举报
回复
学习
------------------------
http://fenglin.xland.cn
------------------------
softfwind 2007-01-08
  • 打赏
  • 举报
回复
楼上的看清楚题目再回答
楼主: 知道a表中的selName,再根据selName来找ids。
cpp2017(慕白兄)给的不只是查1个
你要的话再加个and A.selName = 'a'
partpass 2007-01-08
  • 打赏
  • 举报
回复
select C.Locality
from A jnner join B
on A.Ids=B.Ids inner join
on B.Naics=C.Naics
cpp2017 2007-01-08
  • 打赏
  • 举报
回复
先给把表A的字段加上个, Update A SEt Ids = Ids +',' 为什么要加? 因为如果不加的话 PatIndex('%'+B.ID+'%' ,A.IDS) 如果要查200那么1200,2200,3200...都出来了,所以加个,号 用PatIndex('%'+B.ID+',%' ,A.IDS) 就不会出现这样的情况,但是A的ids中最后一个是没有,号的,所以要预先加上。 最后用: select C.* from C ,A,B WHERE C.Naics = B.Naics AND PatIndex('%'+B.ID+',%' ,A.IDS)>0 AND A.selName = '******'
vfan2010 2007-01-08
  • 打赏
  • 举报
回复
我现在不知道a.ids,而是知道a表中的selName,再根据selName来找ids。
alieneagle 2007-01-08
  • 打赏
  • 举报
回复
还没有准确,没有考虑最后一个
select C.* from C ,A,B
WHERE C.Naics = B.Naics
AND PatIndex('%'+B.ID+',%' ,A.IDS+',')>0
vfan2010 2007-01-08
  • 打赏
  • 举报
回复
谢谢cpp2017(慕白兄),但是我的A表参数是selName啊。
再说B表中的id是从1自动编号到20000的,你这样会不会有错误呢?
lovehongyun 2007-01-08
  • 打赏
  • 举报
回复
顶一下。。
cpp2017 2007-01-08
  • 打赏
  • 举报
回复
最好把表A的最后一位也加上, select C.* from C ,A,B WHERE C.Naics = B.Naics AND PatIndex('%'+B.ID+',%' ,A.IDS)>0 这样精确一点。
cpp2017 2007-01-08
  • 打赏
  • 举报
回复
select C.* from C ,A,B WHERE C.Naics = B.Naics AND PatIndex('%'+B.ID+'%' ,A.IDS)>0

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧