gpt4 book ai didi

MySQL:连接两个表,但只获取第二个表中的第一个值

转载 作者:行者123 更新时间:2023-11-29 02:21:14 24 4
gpt4 key购买 nike

我有两个表要加入。

car_make 表:

id   |    name   |   color  
---------------------------
12 | Tayota | red
13 | Ford | gray
15 | Tesla | red
17 | GM | blue

car_type 表:

id   |    car_id   |   image_one      |   image_two       |  image_three  
--------------------------------------------------------------------------
1 | 12 | tayota1.jpg | tayota2.jpg | tayota3.jpg
2 | 17 | gm1.jpg | gm2.jpg | gm3.jpg
3 | 12 | tayota3.jpg | tayota4.jpg | tayota5.jpg
4 | 13 | ford1.png | ford2.png | ford3.png
5 | 13 | ford4.png | ford5.png | ford6.png

我想抓取并显示 car_make 中的每一行,并为每个 make 加入第一个 image_one 实例。

例如,我希望它输出:

Row 1: Tayota, red, tayota1.jpg
Row 2: Ford, gray, ford1.jpg
Row 3: Tesla, red, NULL
Row 4: GM, blue, gm1.jpg

我将如何构造此查询?

最佳答案

因为您想要等效于 left join 并且只需要一行,所以最简单的方法可能是相关子查询:

select cm.*,
(select ct.image_one
from car_type ct
where ct.car_id = cm.id
order by ct.id
limit 1
) as image_one
from car_make cm;

关于MySQL:连接两个表,但只获取第二个表中的第一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31576562/

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