当前位置:首页 » 编程语言 » sql显示表的项目名
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql显示表的项目名

发布时间: 2023-07-16 06:43:58

A. 用sql语句 怎样实现 相同人员的信息并排显示

创建测试表及数据

createtable人员代码表
(代码varchar(3),
姓名varchar(10))


createtable项目表
(代码varchar(4),
项目varchar(20))


createtable人员项目表
(代码1varchar(3),
代码2varchar(4))
insertinto人员代码表values('001','张三')
insertinto人员代码表values('002','李四')
insertinto人员代码表values('00x','王五')

insertinto项目表values('x001','基本工资')
insertinto项目表values('x002','岗位津贴')
insertinto项目表values('x003','出差补助')

insertinto人员项目表values('001','x001')
insertinto人员项目表values('001','x002')
insertinto人员项目表values('001','x003')
insertinto人员项目表values('002','x001')
insertinto人员项目表values('002','x002')

执行

declare@sqlvarchar(4000)
set@sql='select[姓名]'
select@sql=@sql+',max(case[项目]when'''+[项目]+'''then[项目]end)as
['+[项目]+']'
from(selectdistinct[项目]from[test])asa
select@sql=@sql+'from(selecta.姓名,b.项目from人员代码表a,项目表b,人员项目表cwherea.代码=c.代码1andb.代码=c.代码2)testgroupby[姓名]'
exec(@sql)

结果

B. 在pl/sql里建一表,其中有些字段的值要限定,比如项目名称被限定为:项目1,项目2,项目3;怎么写代码啊

建立一个取值范围表(码表)作为主表,然后再建立你需要的表(作为从表)。在建表时需要限定的字段作为外键与码表的字段相互关联。这样每次修改表的这些字段时,自动去校验该值是否码表中存在的值。

C. SQL SERVER~~~

1.建表
create table 运动员(运动员编号 varchar(4) primary key ,运动员姓名 nvarchar(10) not null,运动员性别 nvarchar(1),所属系别 nvarchar(20) not null)

create table 项目(项目编号 varchar(4) primary key,项目名称 nvarchar(20),项目比赛地点 nvarchar(50))

create table 成绩(运动员编号 varchar(4) references 运动员(运动员编号) , 项目编号 varchar(4) references 项目(项目编号) , 积分 int ,primary key (运动员编号,项目编号) )

2.插入数据

insert into 运动员 values ('1001', '李明','男','计算机系')
insert into 运动员 values ('1002', '张三','男','电信学院')
insert into 运动员 values ('1003', '李四','男','计算机系')
insert into 运动员 values ('1004', '王二','男','物理学院')

insert into 项目 values ('x001','男子五千米','一操场')
insert into 项目 values ('x002','男子标枪','二操场')
insert into 项目 values ('x003','女子三千米','一操场')

insert into 成绩 values ('1001', 'x001',6)
insert into 成绩 values ('1002', 'x001',4)
insert into 成绩 values ('1003', 'x001',2)
insert into 成绩 values ('1001', 'x003',4)
insert into 成绩 values ('1002', 'x003',6)

3.查询
(1)
select a.项目名称 from 项目 a left join 成绩 b on a.项目编号 =b.项目编号 where b.项目编号 is null
(2)
select c.项目名称 from 运动员 a,成绩 b,项目 c where a.所属系别 ='电信学院' and a.运动员编号 =b.运动员编号 and b.项目编号 =c.项目编号
(3)
select a.运动员姓名 from 运动员 a where a.运动员编号 in (select top 1 b.运动员编号 from 成绩 b,项目 c where b.项目编号 =c.项目编号 and c.项目名称 ='男子五千米' order by b.积分 desc )

4.违禁修改
update a set a.积分 =0 from 成绩 a,运动员 b where a.运动员编号 =b.运动员编号 and b.运动员姓名 ='张三'

说明:这里面有很多地方,如果用代号会更明确,代码更少。如实际应用时,处罚张三,会先知道他的编号,就只要这样写:
update a set a.积分 =0 from 成绩 a where a.运动员编号 ='1002'

D. 【数据库考试】sql查询语句,请进

定语

  1. 供应工程J1

  2. 零件为红色的

名词

1. 工程号JNO

E. SQL语句怎样使查询同一表同一列多条数据分列显示

declare @sql varchar(8000)
set @sql = 'select 编码,名称'
select @sql = @sql+', max(case [项目序号] when '''+cast(项目序号 as varchar)+''' then 数额 else 0 end ) AS [项目序号'+cast(项目序号 as varchar)+']'
from (select distinct 项目序号 from 表名) as a
set @sql = @sql +' from 表名 group by 编码,名称'
select @sql
exec (@sql)