SQL查两个表中的数据 请高手指点
表1 产品品牌表
品牌代码 品牌名称
1001 HP
1002 DELL
1003 三星
1004 SONY
1005 苹果
表2 产品型号表
型号代码 对应品牌代码
s10000 1001,1003,1005
s10001 1001,1002,1004
s10002 1003,1004,1005
s10003 1001
s10004 1001,1005
s10005 1002,1003,1005
现在想查出如下数据怎么写SQL语句啊?
产品品牌名称 产品型号
HP s10000
HP s10001
HP s10003
HP s10004
也就是所有HP品牌下的数据 请问这个语句应该怎么写 谢谢各位
------解决方案--------------------Select a.品牌名称,b.型号代码
from 产品品牌表 as a ,产品型号表 as b
where a.品牌名称= 'HP ' and a.品牌代码 in (b.对应品牌代码)
------解决方案--------------------use pubs;
--表1 产品品牌表
declare @t1 table(品牌代码 varchar(4),品牌名称 varchar(20))
insert into @t1
select '1001 ', 'HP '
union select '1002 ', 'DELL '
union select '1003 ', '三星 '
union select '1004 ', 'SONY '
union select '1005 ', '苹果 '
select * from @t1
--表2 产品型号表
declare @t2 table(型号代码 varchar(20),对应品牌代码 varchar(800))
insert into @t2
select 's10000 ', '1001,1003,1005 '
union select 's10001 ', '1001,1002,1004 '
union select 's10002 ', '1003,1004,1005 '
union select 's10003 ', '1001 '
union select 's10004 ', '1001,1005 '
union select 's10005 ', '1002,1003,1005 '
select * from @t2;
select 品牌名称,型号代码 from @t1 t1,@t2 t2 where charindex(t1.品牌代码,t2.对应品牌代码)> 0 and 品牌名称= 'HP ';
------解决方案--------------------Select
A.品牌名称,
B.型号代码 As 产品型号
From
产品品牌表 A
Inner Join
产品型号表 B
On B.对应品牌代码 Like '% ' + A.品牌代码 + '% '
Where A.品牌名称 = 'HP '