推 cutekid: replace all: A_目標量 →min(A_目標量) 10/26 13:33
資料庫名稱: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