SELECT시 변경된 값으로 WHERE 하기 채택완료
amkorDB
7년 전
조회 3,277
A 테이블
| id | name |
| 0 | 축구 |
| 1 | 농구 |
B 테이블
| gtype | time |
| 2 | 01:22:13 |
| 4 | 02:24:11 |
두개 테이블이 있습니다.
이것을
쿼리를 이용해서
A테이블의 name 컬럼하고 B테이블의 컬럼 gtype 매칭해서 SELECT 할려고 합니다.
EX> A테이블의 name 값이 '축구' 이고 B테이블의 gtype 컬럼이 값 '2'라면 같은 값
또는 A테이블의 name 값이 '농구' 이고 B테이블의 gtype 컬럼이 값 '4'라면 같은 값
SQL : SELECT A.* FROM A AS a
INNER JOIN B AS b
ON (a.name = b.gtype)
여기서 어떻게 해야 할지 선배님에게 문의드립니다.
감사합니다 ㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
마르스컴퍼니
Expert
7년 전
A 테이블에도 gtype 컬럼이 있어야 조인 select 가 가능합니다.
A
| id | name | gtype |
| 0 | 축구 | 2 |
| 1 | 농구 | 4 |
이런 경우 sql은
</p>
<p>select A.*, B.time</p>
<p> from A inner join B on A.gtype = B.gtype</p>
<p>
입니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
a
amkorDB
7년 전
컬럼없이 MYSQL 문에서 치환해서 하는 방법은 없을까요?
�
마르스컴퍼니
7년 전
생각해본 코드입니다만, 동작할 지 여부는 잘 모르겠습니다.
[code]
select t1.*, t2.gtype, t2.time
from A as t1
inner join
(select gtype,
case
when gtype = 2 then '축구'
when gtype = 4 then '농구'
end as name,
time
from B) as t2 on t1.name = t2.name
[/code]
[code]
select t1.*, t2.gtype, t2.time
from A as t1
inner join
(select gtype,
case
when gtype = 2 then '축구'
when gtype = 4 then '농구'
end as name,
time
from B) as t2 on t1.name = t2.name
[/code]
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인