用另一行替换行的sql查询
下面我有一个问题用另一行替换行的sql查询,sql,Sql,下面我有一个问题 select id, name || ' ' || name as name, manager_id from table order by id; 它回来了 id name manager_id 1 a 3 2 b 3 3 c 3 我想打印名称c以代替经理id为3。您可以执行JOIN: SELECT t1.id, t1.name, t2.name AS Manger FROM table1 t1
select id, name || ' ' || name as name, manager_id from table order by id;
它回来了
id name manager_id
1 a 3
2 b 3
3 c 3
我想打印名称c以代替经理id为3。您可以执行
JOIN
:
SELECT t1.id, t1.name, t2.name AS Manger
FROM table1 t1 LEFT JOIN
table2 t2
ON t2.id = t1.manager_id
ORDER by t1.id;
如果它在同一个表中,那么您可以执行自连接操作
:
SELECT t.id, t.name, t1.name AS Manger
FROM table t LEFT JOIN
table t1
ON t1.id = t.manager_id;
通过使用别名(称为自联接),对相同的表使用左联接和联接两次
select t1.id, t1.name ,
t2.name as managername
from table_name t1
left join table_name t2
on t1.id=t2.manager_id
请不要在您的问题中添加随机的RDBMS标记,MySQL、SQL Server和Postgre都是不同的产品,工作方式也非常不同。然而,这显然不是SQL Server,因为
|
不是有效的t-SQL(t-SQL使用+
进行字符串连接)。请标记您正在使用的RDBMS,并且仅标记您正在使用的RDBMS。如果我诚实的话,我认为OP更可能在加入后出现manager\u id
是一个外键,指向同一表的id
。