查询一个表中所有id字段在另一个表中对应值的SQL语句怎么写?

求SQL查询语句,查询出表TB中所有id在TA对应的name值,表记录举例如下:

表名:TA
id name
-------
1 A
2 B
3 C

表名:TB
id1 id2
-------
1 2
2 1
2 3

查询结果举例:
name1 name2
A B
B A
B C
谢谢各位的热心回答,今天很晚了,明天我再一一验证并学习揣摩各个答案。

第1个回答  推荐于2016-10-20
子查询即可
SELECT (SELECT name FROM TA WHERE id = TB.id1) AS id1,
(SELECT name FROM TA WHERE id = TB.id2) AS id2
FROM TB本回答被提问者采纳
第2个回答  2011-09-13
select c.name,d.name from (select a.id1 id1,a.id2 id2,a.name name from TA a,TB b where a.id1=b.id1) temp c
,TA d where c.id2=d.id2
第3个回答  2011-09-13
SELECT T1.name as name1,T2.name as name2 FROM TA as T1,TA as T2,TB
WHERE T1.id = TB.id1 AND T2.id = TB.id2追问

速度真快!!

追答

呵呵,工作之余上来帮帮忙呗

第4个回答  2011-09-13
--创建测试数据
create table #a(id int,name varchar(10))
insert into #a values(1,'A')
insert into #a values(2,'B')
insert into #a values(3,'C')

create table #b(id1 int,id2 int)
insert into #b values(1,2)
insert into #b values(2,1)
insert into #b values(2,3)

---------------实现代码部分----------------
select
t1.name as name1
,t2.name as name2
from
#b tt
left join #a t1 on tt.id1 =t1.id
left join #a t2 on tt.id2 =t2.id
第5个回答  2011-09-14
select * from ta,tb where ta.id= tb.id1

查询一个表中所有id字段在另一个表中对应值的SQL语句怎么写?
FROM TB

SQL 查询一个表所引用的ID在其它表中的对应名称
select d.price,d.remark,p.comfullname,g.Goodscode from tblCustomerPriceDet d inner join tblCustomerPrice c on d.f_ref=c.ID inner join tblCompany p on c.companycode =p.classcode inner join tblGoods g on d.Goodscode= g.ID 没试过,不知道可不可以 ...

用SQL怎样根据一个表种的字段ID查出另一个表中的数据?
例如:两个表中的news_type_id 跟 type_id是对应的,根据NEWS 表中的 news_type_id =1 查出 news_type 表中的 type_name 根据 NEWS表中的 news_type_id = 1 查出 news_type表中的 “透明点评” 这条数据,“透明点评”是最后需要查出来的位置数据。比如表连接的方式就可以写成:select n....

sql语句 怎么从一张表中查询数据插入到另一张表中
1、insert into A([id], ids, [name], type, time)select [id], null, [name], 'dd', getdate() from B where type='dd'2、DECLARE @num int,@i int;SET @i=0;SET @num=(select 字段 from 表1 where 条件);WHILE @i<@num begin set @i=@i+1;insert INTO 表2(字段) SE...

sql查询一张表多列对应另一张表的值
一、建表:create table zhidao_20131010_1_tab1 (id varchar2(2),account1 varchar2(10),account2 varchar2(10),account3 varchar2(10));create table zhidao_20131010_1_tab2 (id varchar2(2),account varchar2(10),accname varchar2(10));二、插入记录:insert into zhidao_20131010_1_tab...

sql查询本表id字段存在于另一表的数据怎么写
如a表有id,name,b有id,工资,部门,比如a表为本部门的员工表,b表为公司所有员工的工资表。那么b表的id肯定包含a表的id,比如你想本部门所有员工的工资就可以这么写 select a.name,b.工资 from a left join b on a.id=b.id

sql查询一张表多列对应另一张表的值
简单的做法是写俩sql,SELECT name FROM SysColumns WHERE id=Object_Id(‘a表')这个是搜所有字段了,当然你也可以对这个name就是字段名字做限制,比如 like ‘1%’这种的。然后得到的字符串,程序里拼出来=s 这样 select +‘s’ from b 表 就行了。。如果单纯想sql实现。那么需要写个存储...

查询一个表中所有数据并关联查询该表ID对应另一个表数据。
A left join B on A.accid=B.accid 在Oracle中可以这样来查询:select A.*,B* from A left join B on A.accid=B.accid 或 select A.*,B* from A,B where A.accid=B.accid(+)mysql中和SqlServer类似,就不多说了,还有其他的数据库也不一一做说明了 以上,希望对你有所帮助!

用sql 语句 怎么样查询一张表的所有内容 和 另一张表的部分内容? 求解...
A LEFT JOIN B ON A.列=B.列 SELECT A表需要的列名,B表需要的列名[,……] FROM A RIGHT JOIN B ON A.列=B.列 SELECT A表需要的列名,B表需要的列名[,……] FROM A OUT JOIN B ON A.列=B.列 几种方式都可以,看你的条件需要的是那种..正常的来说,第一个SQL 就可以满足你了 ...

sql 查询一个表的值,找到这个值在另外一个表中对于的数值
DISTINCT a.class_id ,b.Classes lj ...这里写出你想要的任何一个表的列名,注意:a 表和 b 表的列需要加前辍 From 25175_num_note a inner join 25175_Exa b on a.class_id = b.class_id 如果需要条件可以在后面直接加 where a.class_id = '32' and b.Classes lj <> ""......

相似回答