gpt4 book ai didi

mysql - 子查询选择行作为列(透视)

转载 作者:行者123 更新时间:2023-11-29 23:46:00 28 4
gpt4 key购买 nike

SELECT j.departure, stopDepartures.*
FROM journey j
JOIN journey_day ON journey_day.journey = j.id
JOIN service ON service.id = j.service
JOIN pattern ON j.pattern = pattern.id
JOIN (
SELECT section, pl.from_stop
FROM pattern_link pl
WHERE pl.section = section
) stopDepartures ON stopDepartures.section = pattern.section
WHERE service.id = "59924-44-X4-B-y10-2" AND journey_day.day = 1 AND pattern.direction = "outbound" AND DATE(NOW()) BETWEEN service.date_start AND service.date_end
GROUP BY j.id
ORDER BY departure ASC;

目前,上述查询的结果将类似于:

`departure` | `section` | `from_stop`
07:00 some_var_id some_var_id

但是 stopDepartures 连接实际上为每个 section 返回许多 from_stop 字段,但我只会看到第一个。如何更改 stopDepartures 连接,使其像数据透视表一样,并将每个 from_stop 作为列返回? (很多列,而不是每个第一个 from_stop 值 1 列)

最佳答案

如果我理解正确的话,这可能会达到你想要的效果。而不是:

SELECT j.departure, stopDepartures.*

做:

SELECT j.departure, group_concat(from_stop)

这会将所有值放入逗号分隔的列表中。这不是每个单独的列,但它可以满足您的需要。

关于mysql - 子查询选择行作为列(透视),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25947661/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com