我有3个表需要根据标题,问题和响应的行信息提交到单行。它们都与外键有关。
TABLES看起来像这样:
Headers
ID TemplateID
0 9
1 8
2 7
Questions
------------------
ID | TemplateID
-------------------
0 9
1 9
2 8
3 8
4 8
5 7
6 7
-----------------
Response
-----------------
ID HeaderID
0 0
1 0
2 1
3 1
4 1
5 2
6 2
And I want my Query to return it like this
HeaderID TemplateID QuestionID1 ResponseID1 QuestionID2 ResponseID2 QuestionID3 ResponseID3
0 9 0 0 1 0 Null Null
1 8 2 2 3 2 4 2
2 7 5 5 6 6 Null Null
我是SQL的新手,并尝试了我知道的每一个加入,并且不知道这是否可行。我希望我发布的信息有助于解决我的问题。
感谢。
答案 0 :(得分:0)
SELECT a.ID, a.TemplateID, b.ID, c.ID, b2.ID, c2.ID, b3.ID, c3.ID
FROM Headers a LEFT JOIN Questions b ON a.ID=b.ID LEFT JOIN
Response C ON b.ID=C.ID LEFT JOIN Questions b2 ON b2.ID = c.ID
LEFT JOIN Response c2 ON b2.ID = c2.ID
LEFT JOIN Questions b3 ON c2.ID = b3.ID LEFT JOIN Response c3 ON b3.ID = c3.ID
我是如何解释你的问题的。只需做足够的左连接即可“捕获”最大ID。