我有一個問題,我已經添加了一列到我的數據庫表中的一個,現在我需要用數據填充此列。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