J'ai une table: Questionmaster. il stocke DisciplineId, QuestionID, QuestionText etc ...Comment puis-je obtenir des enregistrements de table en pl/sql?
Ma question est la suivante:
J'ai besoin de 10 dossiers de DisciplineId particulier, 20 dossiers pour un autre DisciplineId et 30 dossiers pour someother DisciplineId .... Que dois-je faire pour ça? Comment puis-je associer toutes les déclarations et obtenir seulement 60 (10 + 20 + 30) lignes sélectionnées?
Pour une discipline, il travaille comme indiqué ci-dessous:
create or replace function fun_trial(Discipline1,Disc1_NoOfQuestions)
open cur_out for
select getguid() tmp,
QuestionNo,QuestionText,
Option1,Option2,
Option3,Option4,
Correctanswer,Disciplineid
from Questionmaster
where DisciplineId=discipline1
AND rownum <= disc1_NoOfQuestions
order by tmp ;
return (cur_out);
@APC: Nitpick, n'entendiez-vous pas dense_rank()? (Pour les cas improbables de valeurs égales de QuestionNo) :-) – Khb
@khb - en fait, si c'était une possibilité, je choisirais 'row_number()', car je pense que c'est la clé de la solution que nous retournons exactement * 10 * questions pour discipline # 1, * 20 * questions pour la discipline # 2, etc. – APC