㈠ 帮忙写一句简单的sql语句,简直在送分~
--> --> (Roy)生成测试数据
if not object_id('Tempdb..#T') is null
drop table #T
Go
Create table #T([比赛] int,[数据类型] nvarchar(2),[数据值] nvarchar(2))
Insert #T
select 1,N'得分',N'10' union all
select 1,N'篮板',N'5' union all
select 1,N'助攻',N'2' union all
select 1,N'首发',N'是' union all
select 2,N'得分',N'20' union all
select 2,N'篮板',N'8' union all
select 2,N'助攻',N'3' union all
select 2,N'首发',N'否'union all
select 3,N'得分',N'20' union all
select 3,N'篮板',N'7' union all
select 3,N'助攻',N'5' union all
select 3,N'首发',N'是'
Go
Select
cast(sum(case when [数据类型]=N'得分' then [数据值] else 0 end)*1.0/count(distinct [比赛]) as decimal(18,2)) as 均场得分,
cast(sum(case when [数据类型]=N'篮板' then [数据值] else 0 end)*1.0/count(distinct [比赛])as decimal(18,2)) as 均场篮板,
cast(sum(case when [数据类型]=N'助攻' then [数据值] else 0 end)*1.0/count(distinct [比赛])as decimal(18,2)) as 均场助攻
from #T a
where
exists(select 1 from #T where [比赛]=a.[比赛] and [数据类型]=N'首发' and [数据值]='是')
(12 行受影响)
均场得分 均场篮板 均场助攻
--------------------------------------- --------------------------------------- ---------------------------------------
15.00 6.00 3.50
(1 行受影响)
㈡ 求简单的SQL语句!
对于楼主的问题,我提出我的方法,可能比较麻烦,不是你想要得方法,仅仅作为参考,谢谢。
问题是:把EXCEL中的数据导入到数据库中,修改数据库中E_mail字段相对应的IsUsed的值?
可以使用update语句进行更新,用for循环把excel中的每一行取出来进行操作,取出的每一行都有两个值,一个是E_mail字段,另一个是对应的IsUsed的值,然后把这两个值作为参数传递到如下sql语句中
update table set isUsed=? where E_mail=?;
执行上面的sql语句,就可以更新表中相应的数据了。
导入jxl.jar包
读取excel的代码如下:
String path="";//excel文件所在目录
Workbook wb = null;
try {
wb = Workbook.getWorkbook(new File(path));
Sheet sheet = wb.getSheet(0);//读取第一个sheet
Cell[] cell = sheet.getColumn(0);//读取第一列数据
String E_mail = null;
int IsUsed = 0;
for (int i = 1; i < cell.length; i++) {
E_mail=sheet.getCell(0, i).getContents();
E_mail=Integer.parseInt(sheet.getCell(1, i).getContents();)
//然后在这里写数据库更新代码,E_mail和E_mail是两个参数。
}
}
book.close();
} catch (Exception e) {
e.printStackTrace();
}
㈢ 简单的SQL语句
use master
go
exec sp_configure 'show advanced options', 1
go
reconfigure
go
exec sp_configure 'xp_cmdshell', 1
go
reconfigure
go
exec xp_cmdshell 'md F:\数据库\'
goif exists (select dbid from sysdatabases where [name] = 'school')
drop database school
go
---创建数据库school
create database school
on primary
(
name = 'school',
filename = 'F:\数据库\school.mdf'
)
log on
(
name = 'school_log',
filename = 'F:\数据库\school_log.ldf'
)
gouse school
go
---创建表student
create table student
(
[student_id] int identity(1,1) primary key not null,
[name] varchar(50) not null,
[class_id] int not null,
)
go
---创建表class
create table class
(
[class_id] int identity(1,1) primary key not null,
[name] varchar(50) not null,
)
go ---添加主外键关系
alter table student add constraint FK_class_id foreign key(class_id) references Class(class_id)
go ---插入班级表数据
insert into class([name]) values('一班')
insert into class([name]) values('二班') ---插入学生表数据
insert into student([name], [class_id]) values('学生1', 1)
insert into student([name], [class_id]) values('学生2', 1)
insert into student([name], [class_id]) values('学生3', 1)
insert into student([name], [class_id]) values('学生4', 2)
insert into student([name], [class_id]) values('学生5', 2)
insert into student([name], [class_id]) values('学生6', 2) ---查询一班所有学生成绩按降序排列
select * from student where [class_id] = 1 order by [student_id] desc ---复制表student所有内容到back_student
select * into back_student from student ---查询一班学生信息 name和class链接
select (select [name] from class where class.[class_id] = student.[class_id]) + [name] from student where [class_id] = 1 数据库设计一般学生信息和班级是分为两张表的,否则班级列为冗余信息。
㈣ 简单 SQL语句
本人的思路:先把所有数量赋成总数,然后删除多余数据:
跟新成总数:
update 表名 set 数量 =(select sum(数量) from 表名 where 表的主键 in (select 表的主键 from 表名 where 名称='A01')) where 名称='A01';删除多余数据:
delete from 表名 where 表的主键 in (select 表的主键 from 表名 where 名称='A01' group by 表的主键 ) and 表的主键 not in (select min(表的主键) from 表名 where 名称='A01');
其他的列把A01改一下就行了
这个方法行得通,但应该有更简单的方法,自己可以多探索
㈤ 帮我写个sql语句,很简单的
我来回答,这个表是谁给你建的?你应该揍他一顿。如果是你自己建的,面壁去吧。
应该有两个表:
1、省份表
字段名 类型 长度 备注
Pid int 4 自增变量,主键,省份id
PName char 20 省份名称
2、城市表字段名 类型 长度 备注
Cid int 4 自增变量,主键
CName char 20 城市名称
Pid int 4 城市所属的省份id
对于前面的那些数据,应该是这样的:
1、省份表(ProvinceTable)
Pid PName
1 广东省
2 湖南省
(更多的,再添加)
2、城市表(CityTable)
Cid CName Pid
1 广州市 1
2 深圳市 1
3 长沙市 2
4 岳阳市 2
这样的表结构才有可能实现你要的效果。
把省份表中的名称和id放到选择省份列表中,这样:
<select name="Province" onclick="">
<option value="1">广东省</option>
<option value="2">湖南省</option>
</select>
然后在onclick事件中提交表单,或者使用Ajax技术向服务器中发送选择的省份id。
这时候,得到省份所有城市列表的sql语句为(假设我们选择广东省):
select * from citytable where pid=1
欢迎访问我的论坛:
http://www.chinesebloger.com
期待您的支持:) 9471希望对你有帮助!
㈥ 简单的SQL语言怎么写
1.select * from tablename;
2.selct 选修课程 from tablename;
3.select 姓名 from tablename where 年龄<21;
4.select 年龄 from tablename where 姓名 like "张%";
5.select * from tablename order by 年龄;
㈦ 帮我写一个sql语句,很简单的。
如果你Area里面存的是平方米,而查询的时候,使用的是平方公里,则使用以下语句:
SELECT name, area,area/1000 AS area_square_km FROM bbc
WHERE area BETWEEN 207600 AND 244820
如果查询的时候,输入的条件也是平方公里,则使用以下语句:
SELECT name, area,area/1000 AS area_square_km FROM bbc
WHERE area/1000 BETWEEN 207600 AND 244820
㈧ 写一下简单sql语句 见补充 快 在线
--1
CREATE TABLE [dbo].[学生情况表](
[学号] [char](7) COLLATE Chinese_PRC_CI_AS NOT NULL,
[姓名] [char](8) COLLATE Chinese_PRC_CI_AS NOT NULL,
[性别] [char](4) COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT [DF_学生情况表_性别] DEFAULT ('男'),
[出生日期] [smalldatetime] NOT NULL,
[班级] [char](5) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT [DF_学生情况表_班级] DEFAULT ((1)),
[总学分] [tinyint] NULL CONSTRAINT [DF_学生情况表_总学分] DEFAULT ((0)),
[备注] [text] COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_学生情况表] PRIMARY KEY CLUSTERED
(
[学号] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
--2
CREATE TABLE [dbo].[课程表](
[课程号] [char](3) COLLATE Chinese_PRC_CI_AS NOT NULL,
[课程名] [char](20) COLLATE Chinese_PRC_CI_AS NOT NULL,
[开课学期] [tinyint] NOT NULL CONSTRAINT [DF_课程表_开课学期] DEFAULT ((1)),
[学时] [tinyint] NOT NULL,
[学分] [tinyint] NOT NULL CONSTRAINT [DF_课程表_学分] DEFAULT ((0)),
CONSTRAINT [PK_课程表] PRIMARY KEY CLUSTERED
(
[课程号] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
--3
CREATE TABLE [dbo].[学生与课程表](
[学号] [char](7) COLLATE Chinese_PRC_CI_AS NOT NULL,
[课程号] [char](3) COLLATE Chinese_PRC_CI_AS NOT NULL,
[成绩] [tinyint] NULL CONSTRAINT [DF_学生与课程表_成绩] DEFAULT ((0)),
[学分] [tinyint] NULL CONSTRAINT [DF_学生与课程表_学分] DEFAULT ((0)),
CONSTRAINT [PK_学生与课程表] PRIMARY KEY CLUSTERED
(
[学号] ASC,
[课程号] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[课程表] WITH CHECK ADD CONSTRAINT [check_kkxq] CHECK (([开课学期]>=(1) AND [开课学期]<=(8)))
GO
ALTER TABLE [dbo].[课程表] CHECK CONSTRAINT [check_kkxq]
GO
ALTER TABLE [dbo].[学生与课程表] WITH CHECK ADD CONSTRAINT [FK_学生与课程表_课程表] FOREIGN KEY([课程号])
REFERENCES [dbo].[课程表] ([课程号])
GO
ALTER TABLE [dbo].[学生与课程表] CHECK CONSTRAINT [FK_学生与课程表_课程表]
GO
ALTER TABLE [dbo].[学生与课程表] WITH CHECK ADD CONSTRAINT [FK_学生与课程表_学生情况表] FOREIGN KEY([学号])
REFERENCES [dbo].[学生情况表] ([学号])
GO
ALTER TABLE [dbo].[学生与课程表] CHECK CONSTRAINT [FK_学生与课程表_学生情况表]
GO
ALTER TABLE [dbo].[学生与课程表] WITH CHECK ADD CONSTRAINT [check_score] CHECK (([成绩]>=(0) AND [成绩]<=(100)))
GO
ALTER TABLE [dbo].[学生与课程表] CHECK CONSTRAINT [check_score]
㈨ SQL简单语句写法
1、对于第一种重复,比较容易解决,使用
select distinct * from tableName
就可以得到无重复记录的结果集。
如果该表需要删除重复的记录,可以按以下方法删除
select distinct * into #Tmp from tableName
drop table tableName
select * into tableName from #Tmp
drop table #Tmp
2、这类重复问题通常要求保留重复记录中的第一条记录,*作方法如下
假设有重复的字段为Name,Address,要求得到这两个字段唯一的结果集
select identity(int,1,1) as autoID, * into #Tmp from
tableName
select min(autoID) as autoID into #Tmp2 from #Tmp group by
Name,autoID
select * from #Tmp where autoID in(select autoID from
#tmp2)
最后一个select即得到了Name,Address不重复的结果集
更改数据库中表的所属用户的两个方法
大家可能会经常碰到一个数据库备份还原到另外一台机器结果导致所有的表都不能打开了,原因是建表的时候采用了当时的数据库用户……
㈩ SQL 简单语句求写
首先exist表示后面跟着的子句查询有值则符合条件,反正则查不出来数据,然后说一下你现在的sql怎么改,我建议你分别针对a表写两个子查询,各自带日期查询,然后针对两个子查询起别名做关联,建议用join不加left,最后where里面直接判断第一个临时表中标志b不等于第二个即可,不需要写固定值。