我需要爲父記錄返回一行數據。父記錄可以有許多子記錄,但我只需要前兩行(以及父行的總計數)。選擇前兩行子表
下面是數據的一個例子:
ParentTable
+-----------------------+
| ParentId | ParentData |
+-----------------------+
| 1| Stuff |
| 2| Things |
| 3| Foo |
| 4| Bar |
-------------------------
ChildTable
+-------------------------------+
| ChildId | ParentId| ChildData |
+-------------------------------+
| 1 | 1 | Alpha |
| 2 | 1 | Bravo |
| 3 | 2 | Charlie |
| 4 | 2 | Delta |
| 5 | 2 | Echo |
| 6 | 3 | Foxtrot |
---------------------------------
這裏是我想要的結果:
+-----------------------------------------------------------------+
| ParentId | ParentData | ChildData1 | ChildData2 | ChildRowCount |
+-----------------------------------------------------------------+
| 1 | Stuff | Alpha | Bravo | 2 |
| 2 | Things | Charlie | Delta | 3 |
| 3 | Foo | Foxtrot | (NULL) | 1 |
| 4 | Bar | (NULL) | (NULL) | 0 |
-------------------------------------------------------------------
我不知道這需要一個子查詢,臨時表,或某種JOIN或GROUP BY。
最後我需要在SSIS中使用它,但是我先從查詢開始並從那裏開始。
什麼樣的查詢可以做到這一點?
您正在使用哪些DBMS? –
由於提到了SSIS而添加了SQL Server ...請使用*特定的*適當的標籤進行標記。 –
*前2行*如何?什麼指定了從子表中拾取的2條記錄? –