如何基于使用以下输入来计算以下输出来编写SQL查询?

如何基于使用以下输入来计算以下输出来编写SQL查询?,sql,sql-server,Sql,Sql Server,输入: 输出: 我正在尝试用SQL server编写此查询。只需使用左连接并选择如下所示的字段 select t.id, tt.tid, ot.oid, pt.pid from test t left join test_tid tt on t.id = tt.id left join test_pid pt on t.id = pt.id left join test_oid ot on t.id = ot.id 只需使用LEFT JOIN并选择如下所示的字段 select t.id,

输入:

输出:


我正在尝试用SQL server编写此查询。

只需使用
左连接
并选择如下所示的字段

select t.id, tt.tid, ot.oid, pt.pid
from test t
left join test_tid tt on t.id = tt.id
left join test_pid pt on t.id = pt.id
left join test_oid ot on t.id = ot.id

只需使用
LEFT JOIN
并选择如下所示的字段

select t.id, tt.tid, ot.oid, pt.pid
from test t
left join test_tid tt on t.id = tt.id
left join test_pid pt on t.id = pt.id
left join test_oid ot on t.id = ot.id
试试这个:

select isnull(isnull(t1.id,t2.id),t3.id),t1.tid,t2.oid,t3.pid
from test_tid t1 full outer join test_oid t2
on (t1.id = t2.id)
full outer join test_pid t3
on (t1.id = t3.id)
试试这个:

select isnull(isnull(t1.id,t2.id),t3.id),t1.tid,t2.oid,t3.pid
from test_tid t1 full outer join test_oid t2
on (t1.id = t2.id)
full outer join test_pid t3
on (t1.id = t3.id)

使用
left join
这里的大多数人都想要格式化的文本,而不是图像。这个问题对于堆栈溢出平台来说是离题的,可以出于以下几个原因关闭:(1)没有事先的努力,没有研究,(2)太宽,(3)没有。请在发帖前尽最大努力,然后在你的问题中表现出这种努力。使用
left join
这里的大多数人都想要格式化的文本,而不是图像。这个问题对于堆栈溢出平台来说是离题的,可以出于以下几个原因关闭:(1)没有事先的努力,没有研究,(2)太宽,(3)没有。请在发帖前尽最大努力,然后在问题中表现出这种努力。谢谢!在按条件向其添加组后,它将继续工作。因为我的数据有重复的行,所以它是必需的。谢谢!在按条件向其添加组后,它将继续工作。它是必需的,因为我的数据有重复的行。