해결할 문제가있는 아래 SQL이 아래에 있습니다. 기본적으로 가장 높은 parcel_status (3)가 SumofTonnage에 포함되도록 감지되면 면적의 합계를 구해야합니다.SQL 또한 가장 높은 열의 값을 기준으로 나머지 부분을 얻습니다.
: IE 번 parcel_status는
id | ACREAGE | FIELD_ID | CROP_CLASS
1 | 1.34 | 302-234 | RATOON
2 | 1.64 | 302-235 | RATOON
3 | 1.54 | 302-236| PLANTCANE
OUT의 PUT CaneParcel, 0, 1의 상태가 소포 대한 SumofTonnage 얻을 2
SELECT
CROP_CLASS As Closed,
SUM(tonnage_adjusted) AS SumofTonnage,
SUM(ACREAGE) AS SumofAcreage
FROM
CaneParcel
INNER JOIN
DeliveryTons ON CaneParcel.FIELD_ID = DeliveryTons.parcel_id
WHERE
parcel_status = '3'
GROUP BY
CROP_CLASS
ORDER BY
CROP_CLASS ASC
DeliveryTons
id | parcel_id | tonnage_adjusted | parcel_status
1 | 302-234 | 34.56 | 1
2 | 302-234 | 14.56 | 2
3 | 302-234 | 17.56 | 3
4 | 302-235 | 8.56 | 1
5 | 302-236 | 11.56 | 1
6 | 302-236 | 18.56 | 3
3
Closed | SumofTonnage | SumofAcreage
RATOON 66.68 | 2.98
PLANTCANE 30.12 | 1.54
나는 어제와 비슷한 질문을 회상하는 것 같지만, 어쨌든 여기에서 작업 할 몇 가지 샘플 데이터를 제공해야합니다. –
sql은 기본적으로 parcel_status가 1,2,3 일 때 총 톤수를 선택합니다. 그러나 그것이 내가 3을 발견했을 때 SUM 1과 2와 3의 톤수를 포함하기를 원합니다. – ivias
값 3의 'parcel_status'가 감지되지 않으면 어떻게됩니까? 그러면 어떻게 합계를 계산합니까? –