Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用另一行替换行的sql查询_Sql - Fatal编程技术网

用另一行替换行的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