programing

MariaDB If 문(선택 및 업데이트 쿼리 포함)

bestprogram 2023. 9. 24. 13:03

MariaDB If 문(선택 및 업데이트 쿼리 포함)

테이블에서 최신 dtRequestToLog 행을 쿼리하여 strUnique 열을 가져옵니다.ID. strUnique 비교IF 문이 있는 ID, 숫자 X와 동일한 경우 동일한 행 blnAcceptedToLog = 1로 업데이트합니다.

따라서 최신 dtRequestToLog로 행을 가져오려면 다음을 사용합니다.

select strUniqueID from tblmainmonitor t where dtRequestToLog >= (now() - interval 30 minute ) AND idxBedrijf = 1 order by dtRequestToLog asc limit 1

이 정도면 잘 됩니다.다음 if 문도 있습니다.

DELIMITER $
CREATE PROCEDURE pr()
BEGIN
    IF 3 = 3 THEN 
       SELECT 'TRUE';
    ELSE
       SELECT 'FALSE';
    END IF;
END $
DELIMITER ;
CALL pr;

그래서 3 = 3 대신에 첫번째 쿼리를 사용하고 싶습니다. 그것의 반환 값은 x번과 비교하고 코드에서 동적으로 쿼리를 넣었습니다. 하지만 ' 다음에 쿼리를 넣었을 때.교정기를 착용해도 효과가 없다면 말입니다.

그러면 문장이 참이면 blnAcceptedLog를 1로 업데이트하기 위해 동일한 발견된 행을 사용하고자 합니다.

이거 어떻게 해요?

아니면 UPDATE 쿼리를 사용해야 합니다((서쿼리).str 유니크아이디 == 1)?여기서 하위 쿼리는 맨 위에 설명된 첫 번째 쿼리입니다.이거 어떻게 쓰는 거지?

편집 : tblmain monitor의 일부 샘플 데이터

idxMain|idxBedrijf|strUniqueId|dtLastLog            |dtRequestToLog      |blnAcceptedToLog
1               1   1          2021-07-08 10:00:00   2021-07-08 08:00:00    1
2               1   1                                2021-07-08 14:50:00    0
3               1   2                                2021-07-08 14:51:00    0

언급URL : https://stackoverflow.com/questions/68302609/mariadb-if-statement-with-select-and-update-query