본문 바로가기
MySql

MySQL 두 개의 SELECT 쿼리 병합

by 베이스 공부 2020. 10. 4.
반응형

나는 늙어 가고 있거나 작성해야하는 쿼리가 점점 더 복잡해지고 있습니다. 다음 쿼리는 사용자와 관련된 모든 작업 을 가져옵니다.

"SELECT `date` 
   FROM `tasks` 
  WHERE `user_id`= 1;"

tasks 테이블은 ( id , date , user_id , url_id );

이제 url_id 가 사용자와 연결된 레코드도 가져와야합니다.

`urls` table (`id`, `user_id`)

독립형 쿼리는 다음과 같습니다.

"SELECT `t1`.`data` 
   FROM `tasks` `t1` 
   JOIN `urls` `u1` ON `u1`.`id` = `t1`.`url_id` 
  WHERE `u1`.user_id` = 1;"

하지만이 두 쿼리를 단일 쿼리로 병합 할 수 있습니까? 내 논리는 실제 JOIN을 수행하는 방법을 알지 못하지만 그래야한다고 말합니다.

 

해결 방법

 


SELECT `date`
   FROM `tasks` WHERE `user_id`=1
UNION
SELECT `t1`.`date`
   FROM `tasks` `t1`
   INNER JOIN `urls` `u1` ON `u1`.`id` = `t1`.`url_id`
   WHERE `u1`.user_id`=1;

 

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

 

 

반응형

댓글