gpt4 book ai didi

mysql - 尝试连接三个表以获得特定结果

转载 作者:行者123 更新时间:2023-11-29 05:57:50 25 4
gpt4 key购买 nike

我正在尝试编写一个 SQL 查询以返回收养猫“贝壳”的人的姓名

我有一个 adopters 表,其中包含将要或已经收养动物的人。

pets=# SELECT * FROM adopters;
id | first_name | last_name | address | phone_number
----+------------+-----------+----------------------+--------------
1 | jack | smith | 1 ave | 123-123-1234
2 | james | dude | 2 ave | 221-234-4444
3 | Forrest | Stone | 3 lane | 234-667-6543
4 | craig | list | 44 bulvard | 555-444-3243
5 | kap | seven | no team | 999-000-0909
6 | Miles | Garrett | First energy stadium | 123-555-2424
(6 rows)

cats 表,其中包含猫的文件

pets=# SELECT * FROM cats;
id | name | gender | age | intake_date | adoption_date
----+----------+--------+-----+---------------------+---------------------
1 | Mushi | M | 1 | 2016-01-09 00:00:00 | 2016-03-22 00:00:00
2 | Seashell | F | 7 | 2016-01-09 00:00:00 |
3 | Azul | M | 3 | 2016-01-11 00:00:00 | 2016-04-17 00:00:00
4 | Victoire | M | 7 | 2016-01-11 00:00:00 | 2016-09-01 00:00:00
5 | Nala | F | 1 | 2016-01-12 00:00:00 |
(5 rows)

还有一个adoptions 表,其中记录了所有已发生的采用情况。

pets=# SELECT * FROM adoptions;
id | adopters | cat | dog | fee | date
----+----------+-----+-------+-------+------------
1 | 1 | | 10001 | 10.50 | 2017-11-22
2 | 2 | | 10007 | 10.50 | 2017-11-22
3 | 3 | 5 | | 10.50 | 2017-11-22
4 | 5 | 2 | | 10.50 | 2016-11-22
(4 rows)

我在连接三个表的概念上遇到了麻烦,即使您没有直接回答这个问题,我也非常感谢您指出有帮助的资源方向。

最佳答案

这应该有效:

SELECT p.first_name, p.last_name 
FROM adoptions a
JOIN cats c on c.id = a.cat
JOIN adopters p on p.id = a.adopters
WHERE c.name = 'seashell'

关于mysql - 尝试连接三个表以获得特定结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47703448/

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