Please see link to get table in better formatMySQL의 GROUPBY 쿼리
, 나는 두 테이블 '차량'아래에 따라 'VEHICLE_CLASS'이 있습니다
VEHICLE
-------------------------------------------
VEHICLE_ID | VEHICLE_CLASS_ID | STATUS
-------------------------------------------
vehicle_001 | vehicle_class_001 | 0
vehicle_002 | vehicle_class_002 | 1
vehicle_003 | vehicle_class_003 | 2
vehicle_004 | vehicle_class_001 | 0
vehicle_005 | vehicle_class_002 | 2
vehicle_006 | vehicle_class_001 | 0
vehicle_007 | NULL | 1
----------------------------------------------
VEHICLE_CLASS
------------------------------------------
VEHICLE_CLASS_ID | VEHICLE_CLASS_NAME
-----------------------------------------
vehicle_class_001 | ABC
vehicle_class_002 | BCD
vehicle_class_003 | EFG
vehicle_class_004 | XYZ
vehicle_class_005 | PQR
vehicle_class_006 | STU
---------------------------------------
- 는 =이 시작 세 가지 상태 0, 1 =에 있습니다을 진행, 2 = 내가 아래에 따라 결과 행을 얻기 위해 질의를 필요로
완료 :
-----------------------------------------------------------------------
VEHICLE_CLASS_NAME | COMPLETED_ VEHICLES | NOT_COMPLETED_ VEHICLES
---------------------------------------------------------------------------
ABC | |vehicle_001, vehicle_004, vehicle_006
BCD | vehicle_005 |vehicle_002
EFG | vehicle_003 |
- 상태가 2이면 완료되지 않습니다.
여기에 내가 작성한 쿼리가 있지만 올바른 행을 제공하지 않습니다.
SELECT
veh.VEHICLE_CLASS_ID,
vehclass.VEHICLE_CLASS_NAME,
IF(STATUS=2, GROUP_CONCAT(`VEHICLE_ID`),'') COMPLETED_ VEHICLES,
IF(STATUS<2,GROUP_CONCAT(`VEHICLE_ID`),'') NOT_COMPLETED_ VEHICLES
FROM
VEHICLE veh
LEFT JOIN VEHICLE_CLASS vehclass
on veh.VEHICLE_CLASS_ID = vehclass.VEHICLE_CLASS_ID
GROUP BY
veh.VEHICLE_CLASS_ID
having
veh.VEHICLE_CLASS_ID is not null;
결과 행을 어떻게 얻을 수 있습니까? 감사합니다.
읽기 포스트 쉽도록 서식을 수정하십시오 11g 릴리스. –