개발 Q&A

제목 SQL JOIN 질문 드립니다;
글쓴이 milosz 작성시각 2012/07/07 08:30:26
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 18287   RSS

fruit
id            name
1            apple
2            banana
3            orange

car
id            name
1            toyota
2            bmw
3            suzuki

market
id            name            type            type_id
1            woolworth        car            1
2            coles            fruit          3
3            kmart            car            2

result
id            name            type            type_id            fruit.id            fruit.name            car.id            car.name
1            woolworth        car             1                  null                null                  1                 toyota
2            coles            fruit           3                  3                   orange                null              null
3            kmart            car             2                  null                null                  2                 banana      


MySQL에서 이렇게 불러올 방법이 있을까요?
 다음글 사람구하기 (6)
 이전글 문제 해결좀...로그아웃 후 뒤로가기를 이용해서.. 이... (5)

댓글

도라에몽 / 2012/07/09 12:59:04 / 추천 0
select * from
(
select 'fruit' type, id fruit.id, name fruit.name, '' car.id, '', car.name from FRUIT
union all
select 'car' type, '' fruit.id, '' fruit.name, id car.id, name, car.name from CAR
) as a,
MARKET as b
where
b.type=a.type and (b.type_id = a.fruit.id or b.type_id = a.car.id)

이런식으로 하면 되지 않을까요?... (테스트 안해봐서 되는지는 몰르겠네요. ^^;;)
union all 한게.. 테이블이 크면.. 무쟈게 느리겠네요. ㅋ;...
milosz / 2012/07/10 14:42:58 / 추천 0
 흠.. 답이 유니온밖에 없다면.. 그냥 쿼리를 나눠서 날리는 것이 답이겠네요 ㅠㅠ