當前位置:首頁 » 編程語言 » 最難的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.