看板 Database 關於我們 聯絡資訊
資料庫名稱:PLSQL 資料庫版本: 內容/問題描述: 想要Select出符合資格(Table C中資格值在50~60之間)的Team中 尚未完成目標量的(Team_Person)、未完成的量、單位 Person都是以序號來排(A裡面有1.2.3 B有1 C有1.2.3) 目標結果: Team | Person | 未完成數(目標-sum(完成數)) | 單位 ----------------------------------------------------- A | 1 | | 公尺 A | 2 | | 公尺 A | 3 | | 公里 B | 1 | | 公尺 C | 1 | | 公尺 C | 2 | | 公里 C | 3 | | 公里 C | 4 | | 公尺 D | 1 | | 公尺 E | 1 | | 公尺 現有表格: Table A Table C ------------------------------------ ---------------------------------- A_Team | A_Person | 目標量 | 單位 C_Team | 資格(值在50~60之間符合) ------------------------------------ ---------------------------------- | | | | | | | | | | | | | | | | ------------------------------------ ---------------------------------- Table B ----------------------------------- B_Team | B_Person | 完成量 | 單位 ----------------------------------- | | | | | | | | | | | | ----------------------------------- SELECT A_Team,A_Person,(A_目標量-SUM(B_完成量)) 未完成量,A_單位,C_資格 FROM Table A LEFT JOIN Table B ON A_Team = B_Team AND A_Person = B_Person LEFT JOIN Table C ON A_Team = C_Team WHERE C_資格>50 AND C_資格<60 GROUP BY A_Team,A_Person,A_單位,C_資格 HAVING SUM(B_完成量)<A_目標量 試著組出來長這樣...但跟預期的一樣無法執行(出現Not a group by expression) SQL新手,請各位前輩指教<(_ _)> -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.221.187.130 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1445483797.A.A21.html ※ 編輯: HankJiang (61.221.187.130), 10/22/2015 11:35:22
cutekid: replace all: A_目標量 →min(A_目標量) 10/26 13:33