【发布时间】:2018-11-30 09:05:31
【问题描述】:
我正在使用具有多个连接和 group_concat 的复杂查询,这是查询:
select a.packagename as packagename, a.packageid as packageid,
sum(a.packageduration) as days, (a.packageprice + a.seater_4) as price,
b.statename,
substring_index(GROUP_CONCAT( DISTINCT (select f.placename ) SEPARATOR ',
'),',',4) placename,
substring_index(GROUP_CONCAT( DISTINCT (select d.packagetypename )
SEPARATOR ', '),',',4) packagetypename
from tblpackages a
join tblstates b on b.stateid = a.stateid
join tblpackage_packagetypes c on c.packageid = a.packageid
join tblpackagetype d on d.packagetypeid = c.packagetypeid
join tblpackageplaces e on e.packageid = a.packageid
join tblplaces f on f.placeid = e.placeid
where d.placename = "placename"
group by a.packageid
我的 packagetypename 的 group_concat 根据查询显示 4 个值,但 placename 仅显示 where 子句中给出的 1 个值?
因为查询是按包 id 分组的,对于任何包,我有 N 个地方.... 查询按逻辑工作正常,但我想显示我对应的包 id 的所有包
【问题讨论】:
-
一些示例数据和输出在这里真的有很长的路要走。
-
输出信息已共享....您认为需要更多信息吗?
-
我仍然觉得在没有数据的情况下很难理解您的问题。我相信我建议的答案部分正确;但我不能说更多。
-
是的,你的答案部分正确……但不是正确答案
-
那么有机会看到您的数据,还是您更愿意让我们猜测?
标签: mysql sql group-concat string-aggregation