SELECT
res.ITRId Id,
res.ITRResourceName ResourceName,
res.ITRSupplierName SupplierName,
res.ITRDeptCityName DeptCityName,
res.ITRDeptAirportName DeptAirportName,
res.ITRDataFlag DataFlag,
res.ITRDeptCityId,
res.ITRSupplierId,
res.ITRTcManagerId,
bus.ITFDestCityName DestCityName,
bus.ITFDestAirportName DestAirportName,
city.ITCTransPortCityName
-- (select GROUP_CONCAT(city.ITCTransPortCityName separator ',' ) TransportCityName from SGRInternationalTransportCity city where city.ITCTransportId = res.ITRId) as TransportCityName
FROM SGRInternationalTransportResources res
left JOIN SGRInternationalTransportFlightResource bus ON res.ITRId = bus.ITFTransportId
left JOIN SGRInternationalTransportCity city ON city.ITCTransportId = res.ITRId
where res.ITRResourceType =2

执行的结果如下:

表联合查询后ID相同的存在多条记录;其他字段值均一样仅ITCTransPortCityName字段值不同;

使用GROUP_CONCAT 优化后:

 SELECT
res.ITRId Id,
res.ITRResourceName ResourceName,
res.ITRSupplierName SupplierName,
res.ITRDeptCityName DeptCityName,
res.ITRDeptAirportName DeptAirportName,
res.ITRDataFlag DataFlag,
res.ITRDeptCityId,
res.ITRSupplierId,
res.ITRTcManagerId,
bus.ITFDestCityName DestCityName,
bus.ITFDestAirportName DestAirportName,
(select GROUP_CONCAT(city.ITCTransPortCityName separator ',' ) TransportCityName from SGRInternationalTransportCity city where city.ITCTransportId = res.ITRId) as TransportCityName
FROM SGRInternationalTransportResources res
left JOIN SGRInternationalTransportFlightResource bus ON res.ITRId = bus.ITFTransportId
left JOIN SGRInternationalTransportCity city ON city.ITCTransportId = res.ITRId
where res.ITRResourceType =2

已经初步得到我们想要的结果了;可结果集还是三条记录,列表呈现依然存在问题...进一步优化如下:

去除:

    left JOIN SGRInternationalTransportCity city ON city.ITCTransportId = res.ITRId

得到结果如下:

如果需要对 ITCTransPortCityName 这个字段进行查询该如何处理?用 like 么?使用 exists 进行处理

 and exists (select 1 from SGRInternationalTransportCity city where res.ITRId = city.ITCTransportId and city.ITCTransPortCityId=226 )    

已成功筛选 城市ID为 226 的城市

Mysql中的GROUP_CONCAT使用的更多相关文章

  1. mysql中的group_concat函数的用法

    本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) . MySQL中group_concat函数 完整的语法如下: grou ...

  2. SQLServer 中实现类似MySQL中的group_concat函数的功能

    SQLServer中没有MySQL中的group_concat函数,可以把分组的数据连接在一起. 后在网上查找,找到了可以实现此功能的方法,特此记录下. SELECT a, stuff((SELECT ...

  3. MySQL中的group_concat函数的使用

    本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) . MySQL中group_concat函数 完整的语法如下: grou ...

  4. MySQL中使用group_concat()函数数据字符过长报错的问题解决方法

    最近在办公软件项目,在开发权限指标遇到一个问题:我们系统的一些逻辑处理是用存储过程实现的,但是有一天客户反馈说权限指标分配报错,查了分配的权限数据牵扯到的数据权限基础资源,没有问题.权限指标分配的存储 ...

  5. MySQL中使用group_concat()函数数据被截取(有默认长度限制),谨慎!

    最近在工作中遇到一个问题: 我们系统的一些逻辑处理是用存储过程实现的,但是有一天客服反馈说订单下单失败,查了下单牵扯到的产品基础资源,没有问题. 下单的存储过程中有这样两句代码: ; ; ; 执行存储 ...

  6. MySQL中使用group_concat遇到的坑

    在使用group_concat的过程中遇到个问题,这里记录一下:在MySQL中有个配置参数group_concat_max_len,它会限制使用group_concat返回的最大字符串长度,默认是10 ...

  7. MySQL中的group_concat函数

    group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 以cat_id分组,把name字段的值打印在一行, ...

  8. Mysql中关于 group_concat函数详解

    group_concat()主要功能:能将相同的行组合起来 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Sepa ...

  9. mssql的 for xml path 与 mysql中的group_concat类似MSSQL For xml Path

    /****** Script for SelectTopNRows command from SSMS ******/ SELECT D_ID,[D_Name] as Name FROM [LFBMP ...

  10. Mysql中使用Group_Concat将列组合进来。

    一.上例子: ) as CityId,group_concat(stationId) ,NameCn from `wd-area` where type='cn3k' and areaId like ...

随机推荐

  1. IOS-CocoaPods的详细安装与使用

    1.为什么需要CocoaPods 在进行iOS开发的时候,总免不了使用第三方的开源库,比如SBJson.AFNetworking.Reachability等等.使用这些库的时候通常需要: 下载开源库的 ...

  2. Vue打包上线部署

    一.路径问题 1.脚手架+webpack打包通过npm run build,但是后台tomcat部署上线的时候,会衍生出一些问题,比如,路径问题(因为在项目中,我们使用了绝对路径,这里必须要使用相对路 ...

  3. 杀死dialog

    先 pkill -9 normal.sh 和  pkill -9 terminal_ui.sh 然后在pkill -9 dialog

  4. 2: 使用Prism初始化程序 Initializing Applications Using the Prism Library 5.0 for WPF(英汉对照版)

    This topic addresses what needs to happen to get a Prism for WPF application up and running. A Prism ...

  5. QT中Qtableview视图表格中点击表头进行排序

    用QT写了一个小工具,主要是对Excel中大量的数据进行计算和显示. 写了有一段时间,然后断断续续的做一些修改和完善. 因为要显示的数据有多列,很自然的会想到要能够对显示的数据进行排序.如果直接操作m ...

  6. Request header field Content-Type is not allowed by Access-Control-Allow-Headers

    今天遇到一个跨域问题记录学习下: 一.问题: 跨域请求中包含自定义header字段时,浏览器console报错. Request header field xfilesize is not allow ...

  7. 剑指offer--51.表示数值的字符串

    正则好舒服, ------------------------------------------------------------------------------------------ 时间 ...

  8. L165

    New evidence of how the Norse became long-distance marinersAccording to the saga of Erik the Red, “s ...

  9. Bireme:一个 Greenplum数据仓库的增量同步工具

    https://hashdatainc.github.io/bireme/ Bireme 是一个 Greenplum / HashData 数据仓库的增量同步工具.目前支持 MySQL.Postgre ...

  10. [置顶] Android AOP 实践笔记

    本文同步自wing的地方酒馆 最近博客更新越来越慢了,有两方面原因: 1.没啥好写的. 2.应该沉下心好好沉淀自己,积累一些东西,博客写的太频繁有"刷博客"之嫌,还容易浮躁. 浮躁 ...