一对多 子表条件查询 请sql 高手帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/02 04:05:17
A表一对多 B表
记录:
a1 -- a1b1
a1b2
a1b3
a2 -- a2b1
a2b2
a2b3
a2b4
根据条件值 a1b1 和 a1b2 查询出 a1 ,这种sql 怎么写啊
B表中有一个字段value , a1b1、a1b2 是value字段不同记录的值

a1b1 中的 可以没有a1 可以是ccb1其他值,我这里标示A表 和B表 是一对多的关系 B表有外键连接A表

declare @a1 table(value varchar(10))
insert into @a1
select 'a1'
union all select 'a2'

declare @a2 table(value varchar(10))
insert into @a2
select 'a1b1'
union all select 'a1b2'
union all select 'a1b3'
union all select 'a2b1'
union all select 'a2b2'
union all select 'a2b3'
union all select 'a2b4'

select *
from @a1 a
inner join @a2 b
on charindex(a.value,b.value)>0
where b.value = 'a1b1'

value value
---------- ----------
a1 a1b1

(所影响的行数为 1 行)

什么意思“a1b1 和 a1b2 查询出 a1”?

LZ 你没说清楚!!!

问题表述太含糊了吧
a1b1 是一个值吗?
从这个值里拿出a1??