[SQL ] 如何結合查詢的資料

看板Database (資料庫)作者 (FA)時間13年前 (2012/07/16 22:58), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
想請問一下 有沒有辦法可以將這兩個 SQL 簡化後用一道SQL指令查詢 表A 姓名 Name 學號 ID Eric 1 Mina 2 Ruby 3 Cathy 4 Daniel 5 表B 分數score 日期 date 學號ID 97 1000101 1 76 1000202 1 88 1000103 2 99 1000203 2 78 1000115 1 87 1000201 3 66 1000202 2 100 1000302 5 原本第一個 SQL將1000101到1004001之間各個ID的分數查詢出來 而第二個 SQL 是將第一次SQL 查詢到的資料一筆一筆查詢與上一次考試的分數 比較這一次與上一次考試的分數 相比較 是進步還是退步 所以如果有五個成績五個成績都要跟上一次的成績做比較 如果上一次沒有成績 就為N/a SQL1: select a.Name,a.ID,B.date,b.score from a,b where a.ID=B.ID SQl2: select b.score where where B.date = (子查詢) and b.ID=(SQL1查詢後輸入) 子查詢: select max(date) form B where date not in( select max(date) from B where ID= ? //ID為1為範例的話 ?=1 ) 請問有辦法可以將兩個 SQL 合併成一個 SQL 就查詢出來了嗎 想呈現的查詢結果如下 以ID=1為例 姓名 學號 分數 日期 與上一次分數相比 Eric 1 97 1010101 N/a Eric 1 78 1010115 -19 Eric 1 76 1010202 -2 目前是用子查詢 把第二大的日期查出來 然後一筆一筆查 但是不知道該如何JOIN起來 然後可以一個 SQL 就查詢出來 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.24.198.83 ※ 編輯: eric70378 來自: 114.24.198.83 (07/16 23:01)
文章代碼(AID): #1G12mpJu (Database)
文章代碼(AID): #1G12mpJu (Database)