안녕하세요. query 를 짜다가 막히는부분이 있어서 질문드립니다.
tbl_table_a
idx | a | b |
1 | 0 | 0 |
2 | 1 | 1 |
3 | 2 | 2 |
tbl_table_b
idx | type | c |
1 | 1 | 10 |
1 | 2 | 20 |
2 | 2 | 20 |
2 | 3 | 30 |
3 | 1 | 40 |
tbl_table_a 와 tbl_table_b 는 1:N의 관계 입니다.
query1: SELECT idx, a, b FROM tbl_table_a WHERE idx = 1;
query2: SELECT c FROM tbl_table_b WHERE idx = 1 AND type = 1;
query1 과 query2 의 내용을 합치고 싶습니다.
query1의 결과는 항상 있어야 하므로 LEFT JOIN 을 사용했는데 원하는 결과가 나오지 않습니다. ㅠㅠ
아래는 제가 사용한 query 입니다.
-- tbl_table_b 에 idx = 1, type =1 인 정보가 있어서 제대로 출력됨.
SELECT a.idx, a.a, a.b, b.c FROM tbl_table_a a LEFT JOIN tbl_table_b b ON a.idx = b.idx WHERE a.idx = 1 AND b.type = 1;
-- tbl_table_b 에 idx = 2, type = 1 인 정보가 없어서 tbl_table_a의 정보조차 출력이 안됨
SELECT a.idx, a.a, a.b, b.c FROM tbl_table_a a LEFT JOIN tbl_table_b b ON a.idx = b.idx WHERE a.idx = 2 AND b.type = 1;
제가 원하는 결과를 table 로 구성해보면 이렇습니다.
idx | a | b | c |
1 | 0 | 0 | 10 |
2 | 1 | 1 | NULL |
3 | 2 | 2 | 40 |
조언 부탁드립니다 ㅠㅠ