SELECT
'A' as name
,id
,pwd
from A_TABLE
union
SELECT
'B' as name
,id
,pwd
from B_TABLE
union
SELECT
'C' as name
,id
,pwd
from C_TABLE
이런식으로 3개 테이블 데이터를 합쳐야 되는데
문제는 어느 테이블에서 값을 가져왔는지 명기를 해야 된다는것...
기존 소스가 저런식으로 되있는데, union으로 되 있어서 미친듯이 느림...노답임....고칠 방법 없나? 초보 살려줘 ㅜㅜ
아 이거보고 다시 공부하러간다 ㅋㅋ나도 DB 시험공부해야하는데
조인으로 가져오면 되는거 아니냐?
조인으로 하면 A테이블에 값이 없으면 결과 안나온다 아님?
join 써라
'@_TABLE' AS TBL 하나 더박으면 되겠노 ㅋㅋ
구체적으로...ㅜㅜ
아니 걍 컬럼 하나 더쑤셔넣으라고 ㅋㅋ 이건 a에서 이건 b에서 이건 c에서 나온거라고
그리고 유니온 다 싸서 where절에 tbl = 'a_table'하면 a테이블꺼만 튀어나오겟지
오라클은 테이블 뒤에 alias 붙혀져서 한 select에 여러 테이블 가능하지않냐
대가리 나빠서 자살각이네...테이블 뒤에 As붙여서 별명 만들라는거까지는 이해함
그말아님 name id pwd 에 하나 더 tbl을 주고 여기에 니가 abc 한거처럼 테이블명칭 넣으라고
오라클은 테이블 별명 줄때 AS안붙여도 됨
걍 각 셀렉트에 'a', 'b', 'c' 하나씩 더 박자 ㅋㅋ
처음엔 이럴수 있어. - dc App
그리고 상황이 어떤지 모르겠는데 몰 하고싶은거임? 꼭 전체 데이터를 저렇게 가져와서 다시 쪼개야되나..?
똑같은 컬럼 가진 테이블 3개가 있는데, 그 값을 다 합쳐야 됨. 그런데 어느 테이블에서 가져왔는지를 알아야 하고
일단 속도가 느리다는건 디비가 몬지 몰겟지만 중복데이터 문제가 아니라면 union all로 해결보고. 그래도 느리다면 저 쿼리를 갖고 뭐 딴걸 하고있겠지 where절에서.. 그럼 그것도 같이줘야 알수잇음.
걍 테이블 하나로 통합시켜버리자 ㅇㅅㅇ
아님 뷰를때려 ㅋㅋ
이건 작성자가 뷰 개념을 몰라서 그런듯 - dc App
해당 댓글은 삭제되었습니다.
살려줘 ㅋㅋ