我有一个问题,我已经添加了一列到我的数据库表中的一个,现在我需要用数据填充此列。SQL嵌套循环
下面是表:
表QUESTIONNAIRE_QUESTIONS 的列:
ID,
QUESTION_NUMBER,
PARENT_QUESTION_ID,
PARENT_QUESTIONNAIRE_ID,
QUESTION_CODE
表问卷 的列:
ID,
INTRODUCTION
我首先要做的是找到所有独特的QU ESTIONNAIRE.ID,对于每个需要查找所有QUESTIONNAIRE_QUESTIONS.ID并将此ID设置为PARENT_QUESTIONNAIRE_ID并将QUESTION_CODE设置为QUESTION_CODE = QUESTION_NUMBER * 100的用户。
然后,在移动到下一个QUESTIONNAIRE_ID之前,我需要找到具有当前QUESTIONNAIRE_QUESTIONS.ID作为PARENT_QUESTION_ID所有QUESTIONNAIRE_QUESTIONS.ID并设置QUESTION_CODE为 QUESTION_CODE =(父母question_code)+“” + QUESTION_CODE.QUESTION_NUMBER * 100。
如何执行这个复杂的嵌套循环?似乎我必须使用几个循环?
样本数据:
QUESTIONNAIRES
ID
1869359
1876176
QUESTIONNAIRE_QUESTIONS
ID QUESTION_NUMBER PARENT_QUESTIONNAIRE_ID PARENT_QUESTION_ID QUESTION_CODE
1869360 1 1869359 null null
1869362 2 1869359 null null
1869364 3 1869359 null null
1869367 1 null 1869364 null
1869369 1 1876176 null null
1869371 2 1876176 null null
1869372 3 1876176 null null
1869374 4 1876176 null null
1869377 1 null 1869372 null
后,我希望它看起来像这样:
QUESTIONNAIRE_QUESTIONS
ID QUESTION_NUMBER PARENT_QUESTIONNAIRE_ID PARENT_QUESTION_ID QUESTION_CODE
1869360 1 1869359 null 100
1869362 2 1869359 null 200
1869364 3 1869359 null 300
1869367 1 null 1869364 300.100
1869368 1 null 1869367 300.100.100
1869369 2 null 1869367 300.100.200
1869370 1 1876176 null 100
1869371 2 1876176 null 200
1869372 3 1876176 null 300
1869374 4 1876176 null 400
1869377 1 null 1869371 200.100
注意,它可以是 “孩子问题” 感谢更多的水平!
请提供样本数据 – peterm
提供样本数据! – byron