SQL语句?
有2个表:T_Project和T_User。
T_User有2个字段:
f1:用户ID
f2:用户名
T_Project有3个字段:
f0: 项目名称
f1:项目负责人的用户ID
f2:项目承办人的用户ID
希望用SELECT 语句返回T_Project表的数据集里,将T_Project.f1、T_Project.f2分别替换为T_User.f2。
如果只替换一个,例如T_Project.f1,可以用下面的SQL语句实现:
SELECT FROM T_Project.f0,T_User.f2 T_Project
INNER JOIN T_User ON T_Project.f1=T_User.f1
如果同时替换两个,SQL语句?
------解决方案--------------------Select
A.f0,
B.f2 As 项目负责人,
C.f2 As 项目承办人
From
T_Project A
Inner Join
T_User B
On A.f1 = B.f1
Inner Join
T_User C
On A.f2 = C.f1
------解决方案--------------------子查询
SELECT f0,f1=(SELECT T_User.f2 FROM T_User WHERE T_User.f1=T_Project.f1 ),
f2=(SELECT T_User.f2 FROM T_User WHERE T_User.f1=T_Project.f2 ) FROM T_Project
------解决方案--------------------试试看
SELECT a.f0,
case a.f1 when b.f1 then b.f2 end a.f1,
case a.f2 when b.f1 then b.f2 end a.f2,
from T_Project a,T_User b
order by a.f0