테스트 사이트 - 개발 중인 베타 버전입니다

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 포인트
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]

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인