我有兩張表,父母和孩子在SQL Server中。在第一個孩子上顯示第一個父代,並將其他顯示爲NULL的孩子顯示爲NULL
父表
ParentID ParentName
----------- ------------------
1 Parent 1
2 Parent 2
3 Parent 3
4 Parent 4
5 Parent 5
兒童表
ChildID ChildName ParentID
----------- ----------------------------------- -----------
1 Child 1 1
2 Child 2 1
3 Child 3 1
4 Child 4 1
5 Child 5 2
6 Child 6 2
7 Child 7 3
8 Child 8 3
9 Child 9 3
我如何可以查詢到的第一個孩子,孩子的具有相同父顯示爲NULL,其餘顯示第一個父?
ChildID ChildName ParentName
----------- --------------------------- -----------------
1 Child 1 Parent 1
2 Child 2 NULL
3 Child 3 NULL
4 Child 4 NULL
5 Child 5 Parent 2
6 Child 6 NULL
7 Child 7 Parent 3
8 Child 8 NULL
9 Child 9 NULL
只是一個小注:這確實氣味像一些東西,通常是在前端處理。儘可能避免在SQL Server上丟失自己的數據格式。 – Jens
SQL Server 2008 R2不再受支持。所有受支持的版本都有一個[hierarchyid](https://msdn.microsoft.com/en-us/library/bb677173.aspx)類型,它可以使定義層次結構和查找父母更爲簡單。該升級到支持的版本了。 BTW SQL Server 2016 SP1即使在Express和LocalDB版本中也提供內存表,壓縮,列存儲和分區。單獨的性能,硬件和許可證節約應該證明遷移的合理性 –
我有一個業務需求來生成一個看起來像這樣的報告。 謝謝你的建議。我會考慮的。 – sovantha