2
A
回答
2
使用SQL Server CTE和ROW_NUMBER你可以嘗試使用
DECLARE @ParentTable TABLE(
ID INT
)
INSERT INTO @ParentTable SELECT 1
INSERT INTO @ParentTable SELECT 2
INSERT INTO @ParentTable SELECT 3
DECLARE @ChildTable TABLE(
ID INT,
ParentID INT
)
INSERT INTO @ChildTable SELECT 1, 1
INSERT INTO @ChildTable SELECT 2, 1
INSERT INTO @ChildTable SELECT 3, 1
INSERT INTO @ChildTable SELECT 4, 1
INSERT INTO @ChildTable SELECT 5, 1
INSERT INTO @ChildTable SELECT 6, 1
INSERT INTO @ChildTable SELECT 7, 1
INSERT INTO @ChildTable SELECT 8, 2
INSERT INTO @ChildTable SELECT 9, 2
INSERT INTO @ChildTable SELECT 10, 3
INSERT INTO @ChildTable SELECT 11, 3
;WITH RowNums AS(
SELECT pt.ID ParentID,
ct.ID ChildID,
ROW_NUMBER() OVER (PARTITION BY pt.ID ORDER BY ct.ID) RowNum
FROM @ParentTable pt INNER JOIN
@ChildTable ct ON pt.ID = ct.ParentID
)
SELECT ParentID,
ChildID
FROM RowNums
WHERE RowNum <= 5
2
嘗試常規連接,其中約束是一個子查詢子表拉動TOP 5。在未經測試的僞代碼:
SELECT A.MasterID, B.*
FROM MasterTable A
JOIN ChildTable B
ON A.MasterID = B.MasterID
AND B.ChildID IN (SELECT Top 5 ChildID FROM ChildTable
WHERE MasterID = A.MasterID ORDER BY Whatever)
相關問題
- 1. 選擇總計只返回SQL Server中的一條記錄
- 2. 在SQL Server表中選擇記錄
- 3. MYSQL - 爲表中的每個類別選擇前4條記錄
- 4. 改進SQL Server在表中選擇與多條記錄
- 5. 如何選擇MySQL中每個topic_id的最後兩條記錄
- 6. SQL Server +選擇所有不同記錄的前1條記錄
- 7. 爲每個類別選擇前10條記錄
- 8. SQL Server時,選擇一個記錄的記錄每一個「X」量
- 9. SQL Server - 如何選擇每個用戶的最新記錄?
- 10. 在SQL Server 2000中爲兩個不同的表選擇兩列
- 11. 選擇進入和退出記錄表中的每個條目
- 12. 選擇少於10個條目的記錄sql server
- 13. 如何在MySQL中爲每個「類別」選擇5條記錄?
- 14. SQL Server 2012,選擇兩個最大記錄,然後加入
- 15. 如何統計SQL Server 2005數據庫中每個表中的每條記錄?
- 16. SQL試圖只選擇幾個返回的第一條記錄
- 17. 每組選擇前x條記錄
- 18. SQL - 每個人隨機選擇一條記錄
- 19. 從多個SQL Server表中選擇TOP 4記錄。使用vb.net
- 20. SQL Server:選擇多個表/條件
- 21. 更新SQL Server中每個唯一記錄的一個條目
- 22. Inner Join只從mysql中選擇兩條記錄
- 23. 從同一表格中的每個類別中選擇前n條記錄
- 24. 在SQL Server中選擇N條隨機記錄而不重複
- 25. 從SQL Server中選擇百萬條記錄
- 26. 從重複值在SQL Server中,選擇第一條記錄
- 27. 選擇單個記錄只
- 28. MySQL爲表中的每個人選擇前X個記錄
- 29. 如何從兩個表中選擇最新的記錄SQL?
- 30. Sql如何結合一個記錄中的兩條記錄,並從表中選擇任意一個字段
現在升級到「有點測試approxicode」 – LesterDove 2010-04-23 04:10:29
FYI,這工作。我沒有提出足夠好的答案,不主張實際工作的人:-) – LesterDove 2010-04-23 04:16:25