Я создаю базу данных для наших образцов в лаборатории с Марией Д.Б. Для этого было бы удобно иметь запрос, который возвращает, для конкретного образца, также все образцы, из которых он исходит. Для этого я попытался сделать цикл while, но во всех отношениях я всегда возвращаю ноль строк. Скорее всего, потому что я делаю что-то не так с тем, как я объявляю свою переменную или как записываю мой цикл. (Оператор SELECT работает, когда он не зациклен и когда я помещаю (пример) число в оператор WHERE.
Я перепробовал все другие форматы для второго оператора выбора (SELECT Originating from SampleID
INTO sam FROMSampleID
;) как для isntance: SET sam = SampleID
. Originating from SampleID
, наоборот ... Я также попробовал оператор FOR, который тоже не сработал.
Delimiter ;;
CREATE PROCEDURE pfffff()
BEGIN
DECLARE sam INT;
SET sam = 18;
WHILE sam IS NOT NULL
DO
SELECT `SampleID`.`Sample ID`, `SampleID`.`Originating from SampleID`, `AnnealingID`.`AnnealingID``
FROM `SampleID`
LEFT OUTER JOIN `AnnealingID` ON `AnnealingID`.`On sample ID` == `SampleID`.`Sample ID`
WHERE `SampleID`.`Sample ID` = sam;
SELECT `Originating from SampleID` INTO sam FROM `SampleID`;
END WHILE;
END;
;;