如何合并两个表的结果并显示在 sql 中的单列中
how combine result from two tables and display in single column in sql
我有三个 tables customer1
, customer2
和 product
如下所示:
客户 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
我想用 customer1
和 customer2
[=25= 中的 c_name
替换 product
table 中 c_id
的值]
我正在使用以下 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 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;
试试这个未经测试的查询:
SELECT ifnull (c1.c_name ,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;
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;
这可能对您的情况有所帮助
SELECT coalesce(k1.c_name,k2.c_name) as customer_name, j.p_name from product j
left JOIN customer1 k1 on k1.c_id=j.c_id
left JOIN customer2 k2 on k2.c_id=j.c_id;
我有三个 tables customer1
, customer2
和 product
如下所示:
客户 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
我想用 customer1
和 customer2
[=25= 中的 c_name
替换 product
table 中 c_id
的值]
我正在使用以下 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 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;
试试这个未经测试的查询:
SELECT ifnull (c1.c_name ,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;
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;
这可能对您的情况有所帮助
SELECT coalesce(k1.c_name,k2.c_name) as customer_name, j.p_name from product j
left JOIN customer1 k1 on k1.c_id=j.c_id
left JOIN customer2 k2 on k2.c_id=j.c_id;