繁体   English   中英

从一个表中的两个不同列中选择数据,这些列指向另一个表中的同一列

[英]selecting data from two different columns in one table that point to the same column in another table

我有两个表格,我在下面总结了这些表格,只是为了让问题简单。

第一个表有一个任务列表 - 需要注意的两个重要列是 id 号“idTask”和该任务的名称“sgItemName”。 看起来像这样

idTask sgItemName
1 做这个
2 去做
3 那么这个
4 然后

第二个表列出了具有需要在其之前完成的先例任务的每个任务,然后是该先例 - 要注意的两个重要列是父任务“fkidParentTask”和先例任务“fkidPrecedentTask”。 有些任务可能有多个先例。 看起来像这样

fkidParentTask fkidPrecedentTask
2 1
3 2
3 1
4 3
4 2

我想要实现的是一个 select 查询,它给了我一个 output 如下

父任务 先例任务
去做 做这个
那么这个 去做
那么这个 做这个
然后 那么这个
然后 去做

我仍在学习 SQL 但我根本无法让它工作? 有人能帮我吗?

先感谢您!

您需要在join中多次使用table1 ,如下所示:

select t11.sgItemName as ParentTask,
       t12.sgItemName as PrecedentTask
  from table2 t2 
  join table1 t11 on t2.fkidParentTask = t1.idTask
  join table1 t12 on t2.fkidPrecedentTask = t1.idTask

对于 SQL-Server:

   Select tm1.sgItemName as [Parent Task] , tm2.sgItemName [Precedent Task]
    from ParentPrecedentMapping ppm
    join Taskmaster tm1 on ppm.fkidParenttask = tm1.idtask
    join Taskmaster tm2 on ppm.fkidPrecedenttask = tm2.idtask

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM