Я пытаюсь использовать внешний цикл с вложенным циклом для доступа ко всем категориям, а затем с использованием этого TaxID. Я запрашиваю посты из этого налога, чтобы я мог назначить им рейтинг в соответствии с их размещением в категории.
Но я сталкиваюсь с проблемой, заключающейся в том, что внутренний цикл «RankingLoop» получает доступ только ко всем результатам публикации одного taxID, затем завершает цикл и не выполняет цикл для публикации другой категории, если я использую Repeat вместо RankingLoop, а затем первую записькаждого цикла TaxID становятся доступными.Может ли какой-либо орган помочь объяснить проблему в моем коде?
Спасибо заранее за помощь.
DELIMITER $$
CREATE PROCEDURE Catranking__()
Begin
Declare txID INT; Declare txmaxcount INT;
Declare txCount CURSOR FOR SELECT max(term_taxonomy_id) FROM `wp_term_taxonomy` where taxonomy = 'category' and count > 0;
Declare taxonomyIDS CURSOR FOR SELECT term_taxonomy_id FROM `wp_term_taxonomy` where taxonomy = 'category' and count > 0;
open taxonomyIDS; open txCount;
FETCH txCount into txmaxcount;
loop_label: LOOP
FETCH taxonomyIDS into txID;
if txID < (txmaxcount+1) then set @rank=0;
categorywisePostSorting: begin
DECLARE Vranking INT;
DECLARE VPOSTID INT;
Declare RankingArray CURSOR FOR select @rank:=@rank+1 as ranking, POSTID FROM RankingView WHERE term_id = txID order by claimedProducts desc, commentcount desc, pageviews desc;
open RankingArray;
RankingLoop : Loop
FETCH RankingArray into Vranking, VPOSTID;
select VPOSTID;
end Loop RankingLoop;
close RankingArray;
END categorywisePostSorting;
end if;
END LOOP loop_label;
close taxonomyIDS; close txCount;
END$$
DELIMITER ;