SELECT시 변경된 값으로 WHERE 하기

SELECT시 변경된 값으로 WHERE 하기

QA

SELECT시 변경된 값으로 WHERE 하기

답변 1

본문

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

A 테이블에도 gtype 컬럼이 있어야 조인 select 가 가능합니다.

A

id name gtype
0 축구 2
1 농구 4

 

이런 경우 sql은


select A.*, B.time
  from A inner join B on A.gtype = B.gtype

입니다.

생각해본 코드입니다만, 동작할 지 여부는 잘 모르겠습니다.


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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 29
© SIRSOFT
현재 페이지 제일 처음으로