try:
select a.[name],a.[children],b.[name] as Parent
from 表 a
join 表 b on charindex(b.name,a.children) > 0
select a.[name],a.[children],b.[name] as Parent
from 表 a
join 表 b on charindex(b.name,a.children) > 0
解决方案 »
- 求一个逐级汇总明细的查询
- sql2005安装前需要装什么组件
- 有人能搞定吗?请对 sysindexes 运行 DBCC CHECKTABL
- 要找出一个表的前10000条数据可用top,,但如果要找出10001到20000之间的数据又用什么语句呢,多谢.
- 能否在存储过程里加入一些打印语句?
- 关于数据库设计的问题!
- 在多个工作区中打开同一个表的意义是什么?
- 如何对SQL SERVER6.5 进行优化设置?
- 在局域网中,要如何设置Ms SQL Server才能实现对远程服务器上数据库表的检索或更新?
- mysql中int类型单引号问题
- 一个数据库中有两个表前两列结构一样,列名也一样,可不可以用一条语句将两个表的前两列显示到一个DBGrid控件中?
- ▲▲▲紧急!数据显示问题???▲▲▲
from 表 a
left join 表 b on charindex(a.name,b.children) > 0
create table 表(Name char(2),Children varchar(10))
insert 表 values('A','B1,B2')
insert 表 values('B1','C1')
insert 表 values('B2','C2')
insert 表 values('C1','')
insert 表 values('C2','')select a.[name],a.[children],b.[name] as Parent
from 表 a
LEFT join 表 b on charindex(A.name,B.children) > 0
name children Parent
---- ---------- ------
A B1,B2 NULL
B1 C1 A
B2 C2 A
C1 B1
C2 B2(所影响的行数为 5 行)
insert 表 values('A','B12,B2')
insert 表 values('B1','C1')
insert 表 values('B2','C2')
insert 表 values('C1','')
insert 表 values('C2','')
select a.[name],a.[children],b.[name] as Parent
from 表 a
LEFT join 表 b on charindex(A.name,B.children) > 0
select a.[name],a.[children],b.[name] as Parent
from 表 a
LEFT join 表 b on charindex(A.name+',',B.children+',') > 0
1:字段长度需定义长一些
2:用charindex比较时在前后加上逗号,再稍改一点
select a.[name],a.[children],b.[name] as Parent
from 表 a
left join 表 b on charindex(','+a.name+',',','+b.children+',') > 0