gpt4 book ai didi

mysql - 我怎样才能用SQL得到这两个郊区呢?

转载 作者:太空宇宙 更新时间:2023-11-03 11:14:48 25 4
gpt4 key购买 nike

我想在我的 SQL 中获取出发地和目的地郊区。

SELECT jp.`id`,
CONCAT(u.`first_name`, " ", u.`last_name`) AS `name`,
jp.`departure_time`,
jp.`destination_time`,
s.`suburb` AS `departure_suburb`


FROM `journey_planning` AS `jp`
JOIN `users` AS `u` ON jp.`driver_id` = u.`id`
JOIN `suburbs` AS s ON jp.`departure_suburb_id` = s.`id`
OR jp.`destination_suburb_id` = s.`id`

如您所见,有一个 departure_suburb_iddestination_suburb_id。我需要它们映射到它们在 suburbs 表中的相对值。

目前,这将返回两行,除了郊区名称不同外,它们都具有相同的信息(但显然都是 departure_suburb)。

我不是 SQL 专家,所以我不确定我应该做什么。我考虑过使用子查询,但我认为可能有一种不用子查询并避免两次查找的方法。

尽管 departure_suburbdestination_suburb 指向 suburbs 中的正确值,但我应该如何修改此查询以返回它现在的内容表?

最佳答案

您需要两次加入郊区表,一次是出发地,一次是目的地。键入您正在使用的联接类型也是一个好习惯,即使暗示“INNER JOIN”也是如此!

SELECT jp.`id`,
CONCAT(u.`first_name`, " ", u.`last_name`) AS `name`,
jp.`departure_time`,
jp.`destination_time`,
s.`suburb` AS `departure_suburb`
s2.`suburb` AS `destination_suburb`

FROM `journey_planning` AS `jp`
JOIN `users` AS `u` ON jp.`driver_id` = u.`id`
JOIN `suburbs` AS s ON jp.`departure_suburb_id` = s.`id`
JOIN `suburbs` AS s2 ON jp.`destination_suburb_id` = s2.`id`

关于mysql - 我怎样才能用SQL得到这两个郊区呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5814473/

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