oracle sql查询结果某字段 行转列,逗号分隔

数据库   发布日期:2025年06月20日   浏览次数:141
  1. LISTAGG(BS,',') WITHIN GROUP(ORDER BY ENGINE_NO)

SQL实例:

  1. query.append("SELECT LICENSE_PLATE,SVIN,MAINTENANCE_DATE,DEFAULT_VIN,ENGINE_NO, \n");
  2. query.append(" case when LISTAGG(BS,',') WITHIN GROUP(ORDER BY ENGINE_NO) = 'DRIVER,OWNER' then 'OWNER' \n");
  3. query.append(" when LISTAGG(BS,',') WITHIN GROUP(ORDER BY ENGINE_NO) = 'OWNER' then 'OWNER' \n");
  4. query.append(" when LISTAGG(BS,',') WITHIN GROUP(ORDER BY ENGINE_NO) = 'DRIVER'then 'DRIVER' \n");
  5. query.append(" END BS \n");
  6. query.append("FROM ( \n");
  7. query.append(" SELECT DISTINCT * FROM (SELECT MV.LICENSE_PLATE,MV.SVIN, \n");
  8. query.append(" TO_CHAR(MV.MAINTENANCE_DATE,'yyyy-MM-dd') MAINTENANCE_DATE,MVM.DEFAULT_VIN, \n");
  9. query.append(" MV.ENGINE_NO,'OWNER' BS \n");//OWNER 车主
  10. query.append(" FROM CMS.MAIN_VEHICLE_MENBER MVM,MAIN_VEHICLE MV \n");
  11. query.append(" WHERE MVM.OWNER_ID = MV.OWNER_ID \n");
  12. query.append(" AND MVM.MOBILE = '"+telephone+"' \n");
  13. query.append(" UNION \n");
  14. query.append(" SELECT MV.LICENSE_PLATE,MV.SVIN,TO_CHAR(MV.MAINTENANCE_DATE,'yyyy-MM-dd') MAINTENANCE_DATE, \n");//DRIVER 司机
  15. query.append(" DV.DEFAULT_VIN,MV.ENGINE_NO, 'DRIVER' BS FROM ( \n");
  16. query.append(" SELECT MVM.OWNER_ID,MVM.DEFAULT_VIN,MODR.VIN FROM CMS.MAIN_VEHICLE_MENBER MVM,CMS.MAIN_VEHICLE_DRIVER_RELATION MODR \n");
  17. query.append(" WHERE MVM.OWNER_ID = MODR.DRIVER_ID \n");
  18. query.append(" AND MVM.MOBILE = '"+telephone+"' \n");
  19. query.append(" ) DV, MAIN_VEHICLE MV \n");
  20. query.append(" WHERE DV.VIN = MV.SVIN) \n");
  21. query.append(" ) GROUP BY LICENSE_PLATE,SVIN,MAINTENANCE_DATE,DEFAULT_VIN,ENGINE_NO \n");

 

以上就是oracle sql查询结果某字段 行转列,逗号分隔的详细内容,更多关于oracle sql查询结果某字段 行转列,逗号分隔的资料请关注九品源码其它相关文章!