2012-06-04 13 views
2

MySQL 저장 프로 시저에 조건문을 어떻게 사용할 수 있습니까? 내가 샘플 쿼리로 이것을 가지고MySQL 저장 프로 시저 조건문

,

내 저장 프로 시저 매개 변수 isFirstTask = true가 나는 다른 LEFT JOIN을 사용할 경우 내가 문제는 어떻게 반복하지 않고 LEFT JOININNER JOIN을 바꿀 수있다 INNER JOIN

SELECT * 
FROM jobdetails jd 
INNER JOIN taskslogs tl ON jd.jobID = tl.jobid; 

를 사용합니다 하나의 단어를 대체하기위한 전체 쿼리. 내 쿼리가 대량이라고 가정합니다. 가능한가? 제발 좀 생각해.

답변

4
SELECT * 
FROM jobdetails jd 
     LEFT JOIN taskslogs tl ON jd.jobID=tl.jobid 
WHERE IF(isFirstTask = TRUE, TRUE, tl.jobid IS NOT NULL); 
+0

멋진 아이디어입니다. 감사합니다 – Bryan

+0

당신을 환영합니다! – Sebas

1

저장 프로 시저 내에 문자열로 쿼리를 작성할 수 있습니다. 쿼리를 작성하는 동안 매개 변수의 값을 확인하고 사용할 JOIN을 결정하십시오. 희망이 도움이됩니다.