多表关联问题

飞驴 2012-03-06 05:31:52
table1
id name
1 名称

table2
id name table1id
1 m1 1
2 m2 1
3 m3 1
4 m4 1

希望结果
名称
m1
m2
m3
m4
...全文
72 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyfly2008 2012-03-06
  • 打赏
  • 举报
回复
不是用Union all 连接一下就可以啦!
  • 打赏
  • 举报
回复


--> 测试数据:[iTarget_BrandOption]
go
if object_id('[iTarget_BrandOption]') is not null
drop table [iTarget_BrandOption]
go
create table [iTarget_BrandOption](
[BrandID] int,
[BrandName] varchar(3)
)
go
insert [iTarget_BrandOption]
select 1,'Bud'


--> 测试数据:[iTarget_PackageOption]
go
if object_id('[iTarget_PackageOption]') is not null
drop table [iTarget_PackageOption]
create table [iTarget_PackageOption](
[PackageID] int,
[PackageName] varchar(3),
[BrandID] int
)
go
insert [iTarget_PackageOption]
select 1,'BBT',1 union all
select 2,'SBT',1 union all
select 3,'CAN',1 union all
select 4,'OTH',1


;with t
as(
select
a.BrandName as name1,b.PackageName as name2
from [iTarget_BrandOption] a
inner join [iTarget_PackageOption] b
on a.BrandID=b.BrandID
)

select distinct name1 from t
union all
select name2 from t
where name1 in(select name1 from t a where t.name1=a.name1)

/*
name1
Bud
BBT
SBT
CAN
OTH
*/
飞驴 2012-03-06
  • 打赏
  • 举报
回复
bud就是第一个表中的那个
BrandID BrandName
1 Bud
另外一个表示用ID关联
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ljx85249201 的回复:]

引用 5 楼 travylee 的回复:

描述一下,BrandName跟PackageName什么关系

iTarget_PackageOption表的BrandID就是iTarget_BrandOption表的BrandID,两个表关联
[/Quote]

我的意思是

Bud
BBT
SBT
CAN
OTH
BUD跟下面的有什么关系
飞驴 2012-03-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 travylee 的回复:]

描述一下,BrandName跟PackageName什么关系
[/Quote]
iTarget_PackageOption表的BrandID就是iTarget_BrandOption表的BrandID,两个表关联
  • 打赏
  • 举报
回复
描述一下,BrandName跟PackageName什么关系
飞驴 2012-03-06
  • 打赏
  • 举报
回复
iTarget_BrandOption表
BrandID BrandName
1 Bud

iTarget_PackageOption表
PackageID PackageName BrandID
1 BBT 1
2 SBT 1
3 CAN 1
4 OTH 1

想要的结果是
Bud
BBT
SBT
CAN
OTH
trunjun 2012-03-06
  • 打赏
  • 举报
回复
不知所云!!!!!!!!
  • 打赏
  • 举报
回复

select name from table2
where table1id in (select id from table1)
AcHerat 元老 2012-03-06
  • 打赏
  • 举报
回复
select name from table2 where table1id in (select id from table1)

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧