我正在使用SQLServer 2008,我有兩個表 - 一個是帶有關聯ID的文件列表,另一個是帶有關聯FILE_ID的作者列表。在作者表中,可以有許多具有相同FILE_ID的作者。我想查詢兩個表,並將所有與一個文件中的文件關聯的作者的記錄返回到一個記錄中sql server一對多加入
0
A
回答
0
我看不出有什麼辦法做到這一點。我認爲沒有明顯的方式去做它的原因是它違反了關係設計的整個概念。如果不知道你的理由是否希望返回一條記錄,我只能建議你重新考慮你的方法。
0
提供樣本數據和預期結果通常很有用;這聽起來像你正在尋找一個級聯解決方案,這將是這樣的:
DECLARE @files TABLE (ID int, fName varchar(100))
DECLARE @authors TABLE (ID int, fileID int, aName varchar(100))
INSERT INTO @files (ID, fName)
VALUES (1, 'file1'), (2, 'file2')
INSERT INTO @authors (ID, fileID, aName)
VALUES (1, 1, 'author1'),
(2, 1, 'author2'),
(3, 1, 'author3'),
(4,2, 'author4')
SELECT fName,
authors = STUFF((SELECT ',' + aName FROM @authors a WHERE a.FileID = f.ID FOR XML PATH('')), 1, 1, '')
FROM @files f
相關問題
- 1. 多對多關係自我加入SQL Server 2008
- 2. SQL:外部加入一對多關係
- 3. SQL加入一對多關係
- 4. SQL模型(一對多),在SQL Server 2005
- 5. SQL Server多個LEFT JOIN,一對多
- 6. 加入多個表中的SQL Server
- 7. CASE加入SQL Server
- 8. 如何從一列增加一列插入多行 - sql server
- 9. SQL Server多對多查詢
- 10. SQL和加入SQL Server 2005
- 11. Linq to SQL一對多對多關係加入
- 12. 加入多一個一對多的LINQ表到SQL
- 13. Linq to sql。多對多表加入
- 14. SQL Server 2008 XQuery一對多問題
- 15. SQL Server:在一個表中加入
- 16. SQL Server:對於一個新加入的行選擇主鍵數
- 17. 多加入SQL
- 18. mysql一對多表加入
- 19. 一對多表加入?
- 20. 一對多加入mysql
- 21. 加入一對多查詢
- 22. MySQL一對多加入?
- 23. SQL加入許多一對多 - 3個表
- 24. MERGE自加入SQL Server
- 25. Sql Server加入查詢
- 26. 加入 - SQL Server 2005中
- 27. SQL Server加入問題
- 28. 自加入SQL Server 2005中
- 29. 加入別名SQL Server
- 30. 做在SQL Server中加入
http://msdn.microsoft.com/en-us/library/ms187518.aspx(外連接) – 2011-04-27 18:50:59
當你說:「所有與一個記錄中的文件相關的作者」,你的意思是你想連接一個記錄上的所有作者信息? – Lamak 2011-04-27 19:13:16
是的拉瑪克,我的意思是。我想爲每個文件返回一行。當我進行連接時,我希望所有與文件關聯的作者都返回到同一條記錄中 – 2011-04-28 16:29:40