我有两张桌子:
我想输出如下逻辑:
如果我输入任何类代码,那么我需要提出与该类代码相关的所有问题。 我还想问一个问题,那就是那个问题的孩子问题。
单个类代码也可能与多个问题匹配。你可以看到类代码65005。在这种情况下,我们考虑上层父问题。
如果我将通过42908,那么我的输出如下:
如果您有任何疑问,请与我们联系。
SELECT * FROM QuestionMaster as a INNER JOIN [ClassCodeQuestionMapping] as b ON a.QuestionId = b.QuestionId
WHERE b.ClassCode=42908
我尝试了以上查询,但我无法解决孩子的问题。
感谢。
答案 0 :(得分:0)
提出一个最差的答案,但没有sql编辑器来测试或编写查询,如果有人对它进行了投票,会感到高兴,但这可能会给出一些关于逻辑的暗示
Select c.Question From (SELECT a.Question, a.ParentQuestionId
FROM QuestoinTable as a
INNER JOIN QuestoinClassMappingTable as b
ON a.QuestionId = b.QuestionId
where b.ClassCode = 1234) as c
INNER JOIN QuestoinTable as d
ON c.ParentQuestionId= d.QuestionId
UNION
Select d.Question From (SELECT a.Question, a.ParentQuestionId
FROM QuestoinTable as a
INNER JOIN QuestoinClassMappingTable as b
ON a.QuestionId = b.QuestionId
where b.ClassCode = 1234) as c
INNER JOIN QuestoinTable as d
ON c.ParentQuestionId= d.QuestionId