表A一个字段,内容都是,分割的id号
IDS
1,2,3,4
3,4,5
10,2,3
。。
表B2个字段
ID,Name
1 ,张三
2 ,李四
3 ,王五
。。
我现在要实现类似这样的查询
select Name from B where B.ID=(select IDS(这里的IDS只取第一个,前面的数字) from A where IDS='1,2,3,4')请问该怎么写?谢谢
IDS
1,2,3,4
3,4,5
10,2,3
。。
表B2个字段
ID,Name
1 ,张三
2 ,李四
3 ,王五
。。
我现在要实现类似这样的查询
select Name from B where B.ID=(select IDS(这里的IDS只取第一个,前面的数字) from A where IDS='1,2,3,4')请问该怎么写?谢谢
解决方案 »
- 请教排序问题
- (问题解决就送1000分) 向 SQL2005 导入ACCESS 2000 数据时候,总是出错怎么办? 向SQL2000 导入Access就没有问题。
- 请教各位如何载取字符串,去掉前面的0
- 全分寻求解决方法 请大家帮忙解决 关于存储过程的
- 请问:能不能实现这样的数据库加密?谢谢!!!
- 如何将数据库其中一个表的数据导出成sql?
- 请问哪里可以找到关于介绍 odbc 的材料,,
- 两个关于FOXBASE2。1的问题(急!急!急!)
- 通配符“_”的问题
- SQL SERVER 7.0跟SQL SERVER2000怎么不兼容?
- [100分]求根据日期分组(续)
- sql server 2005 数据库 表中的数据 怎么设置只保存前两天的记录?
select Name from B where B.ID=(select LEFT(IDS,charindex(',',IDS)-1) from A where IDS='1,2,3,4')
IDS
1
1,2,3,4
3,4,5
10,2,3
。。
就是没有逗号分隔,就一个数字.如果按您的语句,会产生错误:Invalid length parameter passed to the left function.
请问该怎么处理?谢谢
select Name
from B
where B.ID=(
select CASE charindex(',',IDS)WHEN 0 THEN IDS
ELSE LEFT(IDS,charindex(',',IDS)-1)
END
from A where IDS='1,2,3,4')
left(testa.ids, charindex(',', testa.ids)-1))