SQL 單表複雜查詢問題

2025-01-14 11:55:26 字數 3217 閱讀 3295

1樓:把妹工程師

select naame,case

when firstgrade = weikao' then 'weikao'

when firstgrade = hege' then 'hege'

when firstgrade = buhege' then secondgrade

end as grade

case when firstgrade = weikao' then null

when firstgrade = hege' then firsttime

when firstgrade = buhege' and secondgrade = hege' then secondtime

else null

end as [time]

from achv

結構如上所示,firstgrade為初考成績 , secondgrade為補考成績 grade為最終需求的成績。

同理,firsttime為初考時間,secondtime為補考時間,time為最終需求時間。

2樓:網友

可能我看的不是很明白。

你的條件是什麼?

說到是結業時間,那就一定要合格了。

語句如下。select * from achv where 初考成績<>"不合格" or 初考成績<>"未考" or 補考成績<>"不合格" or 補考成績<>"未考"

但你的結業時間不知道是要取初考時間還是補考時間還是其它欄位。

感覺你的這個思路不太對。

完全可以這樣來設計。

列名:姓名、時間、次數、成績。

時間會在每一次考試時更新。

次數也會在每一次考試時更新,直接累計就可以。

成績有3種狀態null

null代表未考,0代表不合格,1代表合格。

你看這樣會不會更容易管理一些?

界時只判斷條件為1的記錄,就可以知道他們最後一次考試時間,也就是通過的時間,也知道他們考試用了幾次。

3樓:

- m$sql:

select 姓名,成績 = isnull(nullif(補考成績,''nullif(初考成績,''結業時間 = case

when 初考成績 = 合格' then 初考時間。

when 補考成績 = 合格' then 補考時間 endfrom achv

sql單表複雜查詢

4樓:

select 銷售id,缺好消日期,a.銷量,b.銷量,c.銷量。

from select distinct id,日期 from 表) xx,select id,日期,count(產品)as 銷量 from 表 where 狀態=1

group by id,日期) a,select id,日期,count(產品)as 銷量 from 表 where 狀態=2

group by id,日期) b,select id,日期,襪悶count(產品)as 銷量 from 表 where 狀態=3

group by id,日期) c

where and and

and xx.日期*=a.日期 and xx.日期*=b.日期 and xx.日期*=c.日期。

sqlserver語法。

是sqlserver的左伏知連線。

5樓:網友

你的銷售總量 和各個狀態的銷量是通過什麼規則計算來的,兆運狀態欄位又是什麼資料型別,怎麼櫻畢標記脊猜芹狀態。這些都要補充清楚。

拜託問sql查詢問題,請給出示例資料,和期望的結果資料。

單表比較複雜的查詢 高分求sql

6樓:網友

select 表名。*

from (

select ,from (select distinct date from 表名 where date>='' and date<='') a,select distinct name from 表名 where date>='' and date<='') b

t left join 表名 on 表名。date and 表名。name

where 表名。somthing is not null

關於sql語句 複雜!!單表查詢

7樓:網友

你用這個試試看 select top 2 * from 表名 group by big

8樓:三根鞋帶

上面都是胡扯。看似簡單 實則很難。

老夫研究一下。相同記錄僅取2條。

wrestsoft 是正解。

9樓:網友

五樓正解。知道里果然能人很多,昨晚看到的這條,想早上再,已經被五樓了。厲害。

sql 查詢問題,求助,單表查詢形成多列的表

10樓:乾坤天道

c列是什麼格式呀?

select a,b,c as 2010c from 表名 where to_char(c,'yyyy') = 『2010』 order by c

select a,b,c as 2012c from 表名 where to_char(c,'yyyy') = 『2012』 order by c

select a,b,c as 2013c from 表名 where to_char(c,'yyyy') = 『2013』 order by c

sql聯表查詢問題

11樓:du知道君

select , from news_table as a,name_table as b where ; 如果後面還要對選擇的新聞加上限制的話,where後面跟上 and ? 希望我的回答對你有所幫助!

sql如何實現單表多關鍵字模糊查詢,**等

12樓:莊經略

你可以限定一乙個字串。

string sql='select * from tb where '

for(陣列迴圈取值)

然後處理掉sql最後的or,用;替代即可。

為確保sql語句正確,加一句;輸出到控制檯看看sql語句是否正確記得如果你是說滿足資料中任意乙個元素即可那就不能用and,因為你是滿足其中乙個即可。

複雜sql寫法,求教乙個 複雜sql的寫法

用檢視,或者是連線查詢 select from select from 表a a,select from 表b b where 表a.id 表b.id 這是傳說中的交叉查詢 換個行只是為了更好看清楚而已,這句的意思是 查詢所有資料,他們來自子查詢a,和子查詢b,他們之間用id關聯,select fr...

SQL表update用法,SQL 中UPDATE用法

使用update更新資料內容 語法 update 表名 set 列名 新值 where 條件 update students set a final where b admin 你問的是這個吧 update table1 set a final a where b admin sqlserver u...

sql兩表聯合查詢「根據這兩個字段值相同查詢其他字段值」怎

通過在關聯的時抄候,強制指定排襲序規則,bai來避免衝突。select a.file1 as a1,b.file1 as b1 from a join b on a.file1 b.file1 collate chinese prc cs as sql語言du 是結構化查zhi詢語言 structu...