这样结果用sql怎么实现?

xc008 2004-05-02 12:30:57
在三个表ProjectMan, Project
------------------------------------------
ProjectMan字段;
ProjectMID, ProjectName

数据:
01 计算机
02 教育
... ...
-------------------------------------------
Project字段:
ProjectID, ProjectName, ProjectMID

数据:
01 软件 01
02 硬件 01
03 网络 01
04 语文 02
05 数学 02
06 体育 02
... ... ...
----------------------------------------------
要求的查询结果:
01计算机
软件
硬件
网络

02教育
语文
数学
体育

谢谢各位....


...全文
66 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
internetcsdn 2004-05-03
  • 打赏
  • 举报
回复
计算机01 教育02
--------------
软件 NULL
硬件 NULL
NULL 网络
NULL 数学
NULL 语文

不行,而且不适用于动态列.
关注
internetcsdn 2004-05-03
  • 打赏
  • 举报
回复
create table ProjectMan(
ProjectMID varchar(10), ProjectName varchar(20))
insert ProjectMan
select '01','计算机'
union all select '02','教育'

create table Project(
ProjectID int identity(1,1), ProjectName varchar(20),ProjectMID varchar(10))
insert Project(ProjectName,ProjectMID)
select '软件','01'
union all select '硬件','01'
union all select '网络','02'
union all select '数学','02'
union all select '语文','02'


select a.projectname,b.ProjectName+b.Projectmid as b_ProjectName into #t from Project a join
Projectman b on b.ProjectMID=a.ProjectMID


select case b_projectname when '计算机01' then projectname else null end as 计算机01,
case b_projectname when '教育02' then projectname else null end as 教育02
from #t

--select * from #t

drop table project,projectman,#t
internetcsdn 2004-05-03
  • 打赏
  • 举报
回复
向楼上的楼上学习
asa80 2004-05-03
  • 打赏
  • 举报
回复
学习
SoarInAir 2004-05-03
  • 打赏
  • 举报
回复
这样就可以了,
select col1 from
(
select projectmid+ProjectName as col1, projectmid as col2 from projectman
union
select ProjectName as col1,projectmid as col2 from project
)
as b
order by b.col2

表定义:

create table ProjectMan(
ProjectMID varchar(10), ProjectName varchar(20))
insert ProjectMan
select '01','计算机'
union all select '02','教育'

create table Project(
ProjectID int identity(1,1), ProjectName varchar(20),ProjectMID varchar(10))
insert Project(ProjectName,ProjectMID)
select '软件','01'
union all select '硬件','01'
union all select '网络','01'
union all select '数学','02'
union all select '语文','02'

结果集:

01计算机
软件
网络
硬件
02教育
数学
语文

zw_sjj 2004-05-03
  • 打赏
  • 举报
回复
好象不可以吧
xc008 2004-05-03
  • 打赏
  • 举报
回复
楼上的不行的哦
xc008 2004-05-02
  • 打赏
  • 举报
回复
两个表的关联为ProjectMID

34,837

社区成员

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

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