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
解决方案 »
- Sql server 问题 列值相加
- 求一sql语句 100分
- SQL里行变列的问题。
- 如何产生不大于当前日期的随机时间?
- select top n的用法中n可以是变量吗 ,如 select top @mTop * from table_namne
- 关于sql语句长度的问题
- 怎么样在SQLSERVER 中用字符串构造一个日期类型????
- 如何创建两个相同结构的表
- ON [PRIMARY]是什么意思?
- VFP5下,如何在Grid中的某列(字符型)使用下拉列表框控件?
- 一个数据库中有两个表前两列结构一样,列名也一样,可不可以用一条语句将两个表的前两列显示到一个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