Jumsu 테이블이 있숩나다
Jumsu 테이블
PK_ID | Name :| AGE | KOR | MAT|
===========================
1 AAA 34 67 90
2 BBBB 12 56 47
3 CCCCC 25 90 87
Juso테이블
PK_ID | Name | JUSO | Image
=======================================================
1 AAA 경기도 군포시 산본 AAA.gif
2 BBB 서울특볈시 서초동ㅇ BBB.gif
3 CCCC 부산 CCCC.gif
Jumsu 테이블의 필드는 다른 테이블에 저장되어잇어서 다른 응용프로그램에서 사용합니다
USER_Field 테이블
PK_ID | Field | title
======================
1 Name 이름
2 AGE 나이
3 KOR 국어
4 MAT 수학
위와 같은 형식으로 되어있습니다
출력
PK_ID | Name | AGE | KOR | JUso | image
================================
1 AAA 34 67 ~~~ AAA.gif
2 BBB 36 56 ~~~~ BBB.gif
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
위와 같이 두개의 테이블을 조인을 해야합니다
먼저
USER_Field 테이블에서 필드를 가지고 왔습니다
그런데 Juso와 Image를 가자고 와야되는데
Jumsu A Left Join Juso B On ~~~~~~~~~~~~
이렇게 할려면 A.PK_ID, A.Name이렇게 USER_Field 테이블에 저장을 해야 하는데
USER_Field 테이블을 쓰는 프로그래머가 한두명이 아니라서 이렇게는 저장시킬수가 없어서
저는 서브쿼리로 사용하고 잇습니다 Jumsu 테이블에 임시적으로 A라는 알리아스를 줍니다
select ~~~ , ( Select juso from Juso where Name = A.Name) as Juso, ( Select Imagte from juso where Name = A.Name) as Image
from Jumsu A where ~~~~~~~~~~~~~~~~~~~
조회는 잘되는데 속도가 업청늦습니다(데이타가 약 1만개)
좋은 방법이 없을까요?
Comment 1
-
Terry
2016.05.30 11:11
(
Select 1,'AAA' ,34,67,90 Union All
Select 2,'BBBB' ,12,56,47 Union All
Select 3,'CCCCC',25,90,87
)
,Juso(PK_ID,Name,JUSO,Image) As
(
Select 1,'AAA' ,'경기도 군포시 산본' ,'AAA.gif' Union All
Select 2,'BBB' ,'서울특볈시 서초동ㅇ','BBB.gif' Union All
Select 3,'CCCC','부산' ,'CCCC.gif'
)
,USER_Field(PK_ID,Field,title) As
(
Select 1,'Name','이름' Union All
Select 2,'AGE' ,'나이' Union All
Select 3,'KOR' ,'국어' Union All
Select 4,'MAT' ,'수학'
)
Select a.PK_ID
,a.Name
,a.AGE
,a.KOR
,b.JUSO
,b.Image
From Jumsu a
Left Outer Join
Juso b
On a.PK_ID = b.PK_ID