selectc.stuid,c.maxscoreasscore,b.coursename,b.statusfrom(selecta.stuid,max(b.score)asmaxscorefroma,bwherea.stuid=b.stuidgroupbya.stuid)c,bwherec.stuid=b.stuidandc.maxscore=b.score若還有問題,請hi我~。
- 情感問答
- 答案列表
sql組合查詢:多表查詢sql語句[朗讀]
select主表a.billid,主表a.billdate,主表a.no,主表a.notes,明細表a.qty,明細表a.moneyfrom主表a,明細表awhere主表a.billid=明細表abillidunionselect主表b.billid,主表b.billdate,主表b.no,null,明細表b.qty,明細表b.moneyfrom主表b,明細表bwhere主表b.billid=明細表bbillid。
聯合查詢效率較高.以下例子來說明聯合查詢的好處t1表結構(用戶名,密碼)useridintusernamevarchar(20)passwordvarchar(20)1jackjackpwd2owenowenpwdt3表。
這個問題其實很簡單,只是樓主想思路沒有轉過來.沒必要在一個select裡面再拼加條件那個麻煩,直接用union就搞定了.select*fromtable1where部門='技術部'unionselect*fromtable1where職位='秘書'因為你的條件其實是交錯的,所以用union直接查找多條件結果集,並且可以過濾重複結果。
用unionallselectinterid,sum(mobile)asmobilefrom(selectinterid,count(mobile)asmobilefrommobile1groupbyinteridunionallselectinterid,count(mobile)asmobilefrommobile2groupbyinterid)agroupbyinteridorderbyinterid。