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

最难的sql

发布时间: 2022-06-27 17:36:59

sql 一个绝对难的sql语句

select id,日期 from datetimes where id=1 union all
select id,日期 from datetimes where id in
(select id from(select a.id+1 id,(b.日期-a.日期) as 日期 from datetimes a , datetimes b
where b.id-a.id=1) where 日期>=30)

还有,你上边给的结果是错的id=4的不应该被选出来

② 求教一个超难的sql语句 大虾们如能解决不胜感激

selectt4.sc,t4.gx,nvl(g1.ll,0),nvl(g2.jg,0),nvl(g3.bhg,0)
(selectsc,gx,sum(ll)asll
fromt1groupbysc,gx)g1,
(selectsc,gx,sum(jg)asjg
fromt2groupbysc,gx)g2,
(selectsc,gx,sum(bhg)asbhg
fromt3groupbysc,gx)g3,
t4
wheret4.gx=g1.gx(+)
andt4.sc=g1.sc(+)
andt4.gx=g2.gx(+)
andt4.sc=g2.sc(+)
andt4.gx=g3.gx(+)
andt4.sc=g3.sc(+)
orderbyt4.bh

③ 超难的SQL语句

select d,e,f from a,b,c order by e desc;

select d,e,f from (select d,e,f from a union
select d,e,f from b union
select d,e,f from c) order by e desc;
两个都可以吧,你试试看吧

④ 一道很难的SQL语句。。

①查询出版日期为“2010-8-9”之后的图书单价和作者姓名;
select
图书单价,作者姓名
from
图书,销售,作者
where
出版日期>'2010-08-10'
and
图书.图书编号=销售.图书编号
and
图书.作者编码=作者.作者编码

计算所有女作者各自图书的总销售额;
select
sum(图书单价*售出数量)
from 销售
where
图书编号
in(
select
图书编号
from
图书
a,作者
b
where
a.作者编码=b.作者编码
and
性别='女')
③请查询出高于平均销售额的所有图书的书名和作者姓名;
select
图书.书名,作者.作者姓名
from
图书,作者where
图书.图书编号
in(
select
图书编号
from
销售
where
图书单价*售出数量
>
(select
avg(图书单价*售出数量)
from
销售
))
and
图书.作者编码=作者.作者编码
④请查询出作者工作单位包含“大学”的所有图书的售出量;
select
销售量
from
销售,作者,图书
where
销售.图书编号=图书.图书编号
and
图书.作者编码=作者.作者编码
and
作者.工作单位
like
'%大学%'
⑤请查询年龄最大的前两位作者姓名;
select
top
2
作者姓名
from
作者
order
by
年龄
DESC

⑤ SQL中什么最难

oracle 和 mysql sqlserver 难点不大同 个人认为 sql 的游标 比较难(语法上),触发器 比较难(业务上)

⑥ 求一个超难的SQL语句

我是这样做出来的希望对你有帮助

在表前面加一个ID自动编号

SELECTa.抄表日期,a.本月读数,b.本月读数AS上月读数

FROM(SELECT*FROMdatenumberWHEREidnotin(selecttop1idfromdatenumber))ASa,datenumberASb

WHEREa.id-1=b.id;

⑦ 一个非常难的sql语句,新手勿入(做出来了再加分)

s="" - 要形成的字段串
f=.T. - 这个逻辑值用处是找第一个被选择的字段名
*** FOUND ***
FOR i=1 TO thisform.List1.ColumnCount 从这个list的第一项一直到最后循环
IF thisform.List1.Selected(i) 如果这行状态是被选择的
IF f 如果是第一个
*** FOUND ***
s=thisform.List1.value 就赋值给s
f=.F. 第一个做完了。
ELSE 不是第一个
*** FOUND ***
s=s+thisform.List1.value 把字段名放在串后面 ,得加逗号先。
ENDIF
ENDIF
ENDFOR
-- 循环完毕 s形成一个大概是:字段1,字段3,字段4 这样的串
st="select &s from orders into cursor tmp" 把s放入st sql串中。
thisform.Grid1.RecordSource=st 表格1的数据源设为st
-------
结果就是grid1把这个表中,你在list1中复选的字段数据都裂了出来。
错误一般都是方法属性调用错误。最后一个错误还有没加逗号的错误。
-------
加逗号的原因是要生成一个类似 字段1,字段3,字段4 串.
因为sql select语句要求字段列表写成这样的.

⑧ mssql比较难的sql语句

declare
@正常值 double,
@一般异常值 double
...
正常小区平均值
select @正常值=avg(TCH分配成功率_Mean),avg(SD分配成功率_Mean),avg(话音信道利用率_Mean) from table where 小区关注程度='正常小区'
一般异常小区均值
select @一般异常值=avg(TCH分配成功率_Mean),avg(SD分配成功率_Mean),avg(话音信道利用率_Mean) from table where 小区关注程度='一般异常小区'
以此类推...

update table a set 小区关注程度='TCH分配成功率_Mean 大于正常' where (@正常值-@一般异常值)>(a.TCH分配成功率_Mean -@正常值)and a.小区关注程度= "一般异常小区"
一次类推...

⑨ 请教一个高难的SQL语句

只要一个case 语句就可以了
select s.SurveyTitle,q.QuestionDesc,
case a.Answer
when 'A' then q.OptionA

when 'B' then q.OptionB

when 'C' then q.OptionC

when 'D' then q.OptionD

end desc,a.AnswerPeople
from Answer a,Survey s,Question q

where a.SurveyId = s.SurveyId and a.QuestionId= q.QuestionId

⑩ 比较难的SQL 查询语句

create table test
(
LM varchar(2),
DEPART VARCHAR(2),
DEPARTIDE NVARCHAR(20)
)
GO
INSERT TEST VALUES('AA', 'M1', '牵头')
INSERT TEST VALUES('AA', 'M2' ,'配合')
INSERT TEST VALUES('AA', 'M3','配合')

drop proc sp_test
go
create proc sp_test
(
@LM varchar(2)
)
as
declare @dept varchar(2)
declare @all varchar(1000)
set @all = ''
declare cur cursor
for select DEPART FROM TEST where LM=@LM
OPEN cur
FETCH next FROM cur INTO @dept
WHILE @@FETCH_STATUS = 0
begin
FETCH next FROM cur INTO @dept
set @all = @all+@dept+ ','
end
if @all <> ''
select @LM as LM,@all as DEPART
close cur
DEALLOCATE cur
go

exec sp_test 'AA'

说明:搞了半个小时!终于出来了。不知楼主是不是要的这个?
我的理解是,您想要统计某个LM的DEPART,然后把得到的DEPART合成一列是吗?不是的话请再补充谢谢。
wish help.