Re: [SQL ] 兩個SQL語法要合併寫在一起

看板Database作者 (天劍流星)時間18年前 (2007/09/03 20:24), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/9 (看更多)
※ 引述《TCH (最無價值單身漢)》之銘言: : 我要的結果是: : 產生一個有三欄的Table,第一欄的資料是Student表格的StuName,第二、三欄的資料 : 都是SpellSpecify表格的函數計算結果。 : Student表格內有各個班級的所有學生的基本資料。 : Spell表格內存放的應是所有學生的值日表(不一定每個學生都會出現在此表)。 : 並且,Student.StuID = Spell.SpellStuID : 因為我正在寫 .Net 的 GridView ,底下有我寫的兩個不完整的語法.. : 第一個語法:會顯示某個班級內所有 Student 的 StuName於GridView第一欄中。 : 不完整之處:不知要怎麼安插函數,也不知要放哪個位置。 : string sqlStrTEST = "select StuName from Student "; : sqlStrTEST += "left join Spell on Student.StuID = Spell.SpellStuID and : YearMonth = '" + YearMonth + "'"; : sqlStrTEST += "where Student.UnitID ='" + ClassID.Substring(0, 3) + "' "; : 第二個語法:會顯示 Spell 表格中正確的函數值。 : 不完整之處:不知要怎麼顯示某個班級內的學生於GridView第一欄中。 : string sqlStrTEST = "SELECT : SpellStuName,sum(datediff(hh,StartTime,EndTime)),sum(datediff(hh,StartTime,EndTime))*100 : as Bonus "; : sqlStrTEST += "FROM Spell "; : sqlStrTEST += "group by SpellStuName "; : 請位小弟解答,感激不盡.. 其實有比較簡單的寫法: select a.StuName, sum(datediff(hh,b.StartTime,b.EndTime)) Hours, sum(datediff(hh,b.StartTime,b.EndTime))*100 Bonus from Student a left outer join Spell b on a.StuID=b.SpellStuID where b.YearMonth=200708 and a.UnitID=123 group by a.StuName 大致上是這樣,t-sql的語法不是很肯定,有錯請指正 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.167.209.114
文章代碼(AID): #16s_q2Jo (Database)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 3 之 9 篇):
文章代碼(AID): #16s_q2Jo (Database)