sql如何查询两张表,表b有多个字段只记录了a表的索引,但输出b表时,要换成a表的数据

来源:百度知道 编辑:UC知道 时间:2024/06/10 23:43:33
表a
id name
1 姓名1
2 姓名2

表b
id 数据 输入 确认
1 ssss 1 2
2 dddd 2 1
3 ddde 2 2
4 ddoi 1 1

查询结果:
id 数据 输入 确认
1 ssss 姓名1 姓名2
2 dddd 姓名2 姓名1
3 ddde 姓名2 姓名2
4 ddoi 姓名1 姓名1
我在MYSQL试了下面这个语句,
select id,数据,(select name from a where a.id=b.输入),(select name from a where a.id=b.确认) from b
可以成功,有没有其他做法?哪种比较好?另外,这样是不是很耗费资源?

select id , 数据, (select name from 表a where name = 输入) 输入, (select name from 表a where name = 确认) 确认,
from 表a

暂时没好思路,不过实际中查询一b表,然后一个excel替换下就Ok了吧。

select a.id,b.data ,c.name,d.name
from a,b ,a c,a d
where a.id=b.id
and c.id=b.input
and d.id=b.confirm

select id,数据,case 输入 is 1 then 姓名1,case 确认 is 2 then 姓名2
from 表b join 表a on 表b.id=表a.id