关于select多表联查的问题

netang 2009-08-12 04:56:09

--建立业务A表
create table business_A
(
A_id int identity(1,1) primary key,
A_name varchar(10)
)
go
insert into business_A values ('A业务')
--建立业务B表
create table business_B
(
B_id int identity(1,1) primary key,
B_name varchar(10)
)
go
insert into business_B values ('B业务')
--建立订单表
create table business_bill
(
businessName varchar(10),--业务表名
businessID int,--业务表主键
)
go
insert into business_bill values ('business_A','1')
insert into business_bill values ('business_B','1')
--数据库建立完毕
select * from business_A
select * from business_B
select * from business_bill


想得到该结果,该如何进行呢?
businessName businessID TableName
business_A 1 A业务
business_B 1 B业务
...全文
145 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangjiang264 2009-08-12
  • 打赏
  • 举报
回复
学习了
xiequan2 2009-08-12
  • 打赏
  • 举报
回复
看来只能union all了,要是看起来像联一个表的话,先弄个视图包装一下
devilidea 2009-08-12
  • 打赏
  • 举报
回复
学习
--小F-- 2009-08-12
  • 打赏
  • 举报
回复
学习
中国风 2009-08-12
  • 打赏
  • 举报
回复
declare @S nvarchar(4000)
select @s=isnull(@s+' union all ','')+'select businessName='+quotename(businessName,'''')+',businessID='+rtrim(businessID)+','+right(businessName,1)+'_name from '+businessName+' where '+right(businessName,1)+'_id='+rtrim(businessID) from business_bill
exec(@s)


動態寫法列名和表名的取法可通過系統表取主健
bychgh 2009-08-12
  • 打赏
  • 举报
回复
DDDDD
中国风 2009-08-12
  • 打赏
  • 举报
回复

--指定顯示列
select a.*,b.A_Name from business_bill a inner join business_A b on a.ID=b.ID and a.businessName='business_A'
union all
select a.*,b.B_Name from business_bill a inner join business_B b on a.ID=b.ID and a.businessName='business_B'
SQL77 2009-08-12
  • 打赏
  • 举报
回复
学习
中国风 2009-08-12
  • 打赏
  • 举报
回复
用動態或

--指定顯示列
select * from business_bill a inner join business_A b on a.ID=b.ID and a.businessName='business_A'

select * from business_bill a inner join business_B b on a.ID=b.ID and a.businessName='business_B'
昵称被占用了 2009-08-12
  • 打赏
  • 举报
回复
怎么说呢,很多人希望有这样的设计,但是实际查询很难做到,反过来说明设计不可行

34,588

社区成员

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

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