gpt4 book ai didi

mysql - 如何合并两个表的结果并在sql中以单列显示

转载 作者:行者123 更新时间:2023-11-29 12:27:49 24 4
gpt4 key购买 nike

我有三个表 customer1customer2product ,如下所示:

客户1:

c_id --- c_name
----------------
1 --- anns

2 --- skja

3 --- kkjk

客户2:

c_id --- c_name
----------------
11 --- sjhja

12 --- skkkkk

13 --- aaasss

产品:

p_id --- c_id ---  p_name
-------------------------
1 --- 1 --- pen

2 --- 2 --- card

3 --- 3 --- cell

4 --- 11 --- pot

5 --- 12 --- ice

6 --- 13 --- apple

我想将 product 表中 c_id 的值替换为 customer1 中的 c_name客户2

我正在使用下面的sql查询:

SELECT c1.c_name or c2.c_name as customer_name, p.p_name from product p
left JOIN customer1 c1 on c1.c_id=p.c_id
left JOIN customer2 c2 on c2.c_id=p.c_id;

得到结果:

c_name -----  p_name
---------------
null ----- pen

null ----- card

null ----- cell

null ----- pot

null ----- ice

null ----- apple

期望的结果:

c_name -----  p_name
----------------------
anns ----- pen

skja ----- card

kkjk ----- cell

sjhja ----- pot

skkkkk ----- ice

aaasss ----- apple

请帮助我获得想要的结果。

最佳答案

SELECT coalesce(c1.c_name,c2.c_name) as cus_name, p.p_name product_name 
from product p
JOIN customer1 c1
on c1.c_id=p.c_id
JOIN customer2 c2
on c2.c_id=p.c_id;

关于mysql - 如何合并两个表的结果并在sql中以单列显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28038953/

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