我是SQL Server查询的初学者。我已分配给需要自行加入表的任务。

sql - 将sql表行与同一表的所有其他行联接-LMLPHP

上面是表格结构。我需要如下结果。我尝试使用自连接,子查询等。我无法获得结果。

ReqStatusId ReqStatus ChildId  ChildReqStatus
1           Open      2        On Hold
1           Open      3        Closed
2           On Hold   1        Open
2           On Hold   3        Closed
3           Closed    1        Open
3           Closed    2        On Hold

结果应为:表中的每一行应与所有其他行合并

最佳答案

您想要获得的是通过cross join实现的。如果您两次选择该表,则将获得所需的结果。

select a.reqstatusid, a.reqstatus, b.reqstatusid as childreqstatusid,
b.reqstatus as childreqstatus
from table a, table b
where a.reqstatusid <> b.reqstatusid

10-07 13:59