SQL 数据问题!
来源:百度知道 编辑:UC知道 时间:2024/05/16 06:51:35
表二有1个字段 name ID
表一字段的值对应表二的ID
现在我要查询F1 F2的值 替换为表二的name的值 写入数据集
该怎么处理
表二是 2个字段 name ID
表1 F1 F2的值与表二的ID的值相同
如
表一
F1 F2
1 1
2 2
表二
id name
1 张三
2 李四
然后我F1 F2都要得到NAME的值
即
F1 F2
张三 张三
李四 李四
不是修改表的内容只是查询!
SELECT B.NAME AS F1, C.NAME AS F2
FROM 表1 A,表2 B,表2 C
WHERE A.F1 = B.ID AND A.F2 = C.ID
刚刚有点糊涂了,重新写 只要把表2连接2次就行了
如果F1不等于F2的情况存在
select b.name as f1,b.name as f2 from 表一 a,表二 b where a.f1=b.id and b.id=a.f2
回答者:biyxkjy - 千总 四级 8-7 11:35
这个写法会掉数据
你写的不是很清楚,表二有几个字段。表二的name的值,要对应表一的哪个字段???
怎么会有两个字段对应,同一个ID呢-_-`!,请你把两个表中各字段的关系说清楚好么
select b.name as f1,b.name as f2 from 表一 a,表二 b where a.f1=b.id and b.id=a.f2
只需要两个表Join起来就好了。
select a.*, b.name as F1, c.name as F2
from 表一 as a join 表二 as b on a.F1=b.id join 表二 as c on a.F2=c.id
select
(select name from 表2 where id = 表1.id) as name1
(select name from 表2 where id = 表1.id) as name2
from 表1
select t2.name, t3.name
from 表1 t1
inner join 表二 t2 on t1.F1=t2.id
inner join 表二 t3 on t1.F1=t3.id;
3/4楼的方法,简单易理解