gpt4 book ai didi

外键值为零时Mysql取记录

转载 作者:行者123 更新时间:2023-11-29 06:34:56 25 4
gpt4 key购买 nike

我创建了一些表格如下。

countries

con_id con_name
99 India
100 China

cities

cty_id cty_name country_id
1 Bangalore 99
2 Chennai 99
3 Delhi NCR 99

fees

f_id st_dt end_dt city_id country_id
1 2014-05-05 2014-05-05 1 99
2 2014-05-10 2014-05-10 2 99
3 2014-05-15 2014-05-15 3 99
4 2014-05-20 2014-05-20 0 100
5 2014-05-22 2014-05-22 0 100

我正在编写一个查询,通过 country_idfees 表中获取记录,如下所示。

SELECT * 
FROM fees as fe
JOIN countries as con
ON con.con_id = fe.country_id
JOIN cities as cty
ON cty.cty_id = fe.city_id

对于国家 india,它从费用表中获取前 3 记录,对于国家 china,它不会获取任何记录,因为 连接

所以我想要像 null for city columnscorrect values for fees and country tables 这样的结果。

请帮助我如何获得解决方案。这项工作将受到更多赞赏。

最佳答案

您可以使用 LEFT JOIN(或右,取决于连接顺序):

SELECT *
FROM countries c
LEFT JOIN fees f
ON c.con_id = f.country_id
LEFT JOIN cities ci
ON ci.country_id = c.con_id

左联接将用空值填充联接中没有匹配项的列。

关于外键值为零时Mysql取记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25506750/

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