본문 바로가기
MySql

MySQL 단일 프로 시저에서 여러 선택 쿼리를 작성하는 방법은 무엇입니까?

by 베이스 공부 2021. 1. 12.
반응형

나는 다음과 같이 테이블을 가지고 있습니다. 1 번 테이블:

UID | COLLEGE_NAME | COLLEGE_ADDRESS
------------------------------------

표 2 :

UID | COMPANY_NAME | COMPANY_ADDRESS
------------------------------------

두 가지 질문이 있습니다.

select * from table1 where uid='$uid';   
select * from table2 where uid='$uid';

이 두 쿼리를 하나의 절차로 작성하고 싶습니다.

 

해결 방법

 

다음은 STORED PROCEDURE 를 생성하는 문입니다.

DELIMITER $$
CREATE PROCEDURE procedureName(IN _uid VARCHAR(15))
BEGIN
    SELECT UID, COLLEGE_NAME name, COLLEGE_ADDRESS address
    FROM    table1
    WHERE uid = _uid
    UNION ALL
    SELECT UID, COMPANY_NAME name, COMPANY_ADDRESS address
    FROM    table2
    WHERE uid = _uid
END $$
DELIMITER ;

UNION 에는 결과 목록에 중복 레코드를 추가하기 위해 ALL 키워드가 있습니다. 그러나 UNIQUE 를 선호하는 경우 UNION 에서 ALL 키워드를 제거하십시오.

 

참조 페이지 https://stackoverflow.com/questions/15020917

 

 

반응형

댓글