Qairat
@Qairat
frontend developer, angular 2+

Как использовать while в mysql?

Всем привет!
Надо добавить результаты через while, но что-то не получается. Вот код:
BEGIN


	DECLARE population int;
    DECLARE total2 int DEFAULT 0 ;
    DECLARE irows int ;
 SET irows = (SELECT COUNT(d.Population) FROM MDepartments d LEFT JOIN Localities l ON d.LocalityId = l.Id WHERE d.ParentId = Parent AND Type = 0);

    IF irows>=1 THEN
      
      SELECT d.Population FROM MDepartments d LEFT JOIN Localities l ON d.LocalityId = l.Id WHERE d.ParentId = Parent AND Type = 0 INTO population;

		WHILE irows >= 0 DO
       	SET total = total+population;
       	END WHILE;
        
    ELSE
      
      SET total = 250;
    
   END IF;

  END


Здесь, возвращается несколько значении, надо их добавить друг другу
SELECT d.Population FROM MDepartments d LEFT JOIN Localities l ON d.LocalityId = l.Id WHERE d.ParentId = Parent AND Type = 0 INTO population;


Помогите!
  • Вопрос задан
  • 1141 просмотр
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
А зачем нужна такая жуть?
SELECT IFNULL(SUM(`d`.`Population`), 250)
  FROM `MDepartments` AS `d`
  LEFT JOIN `Localities` AS `l` ON `l`.`Id` = `d`.`LocalityId`
  WHERE `d`.`ParentId` = :Parent AND `Type` = 0;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы