쿼리문 다시 한번 질문드립니다..

쿼리문 다시 한번 질문드립니다..

QA

쿼리문 다시 한번 질문드립니다..

본문

몇번째인지 모르겠네요..ㅎㅎ

거의 일주일째 이렇게 골머리 아픈일이..ㅠ

 

지금 워드프레스에서 그누보드로 회원DB를 이전하는 작업을 하고있습니다..

 

아이디, 비밀번호, 이메일은 insert로 잘 넣어놓은 상태입니다.

 

문제는 이제 이름, 연락처, 주소 등등의 정보인데..

 

이 정보들은 다른 테이블에 있는 하나의 컬럼값에 모두 들어가있습니다.

 

예를 들면 컬럼1의 phone1이라는 값의 컬럼2의 값은 연락처가 뜨구요

컬럼1의 first_name이라는 값의 컬럼2의 값은 이름이 뜹니다.

 

이런식으로 되어있는데 이것을 제가 SELECT문으로 추출을 일단 해보았습니다.

 

SELECT meta_value FROM `wp_usermeta` WHERE meta_key='first_name'

 

이것을 사용해서 이름값을 선택을 했습니다.

 

meta_value 라는 컬럼의 값을 wp_usermeta라는 테이블에서 선택을 하는데

대신 meta_key의 값이 first_name이어야한다는것입니다.

 

이렇게 해서 추출은 다 해놓은상태!

하지만 이것을 어떻게 그누보드 테이블의 mb_name컬럼에 업데이트하여 넣어야할지가 고민입니다..

 

정말 안해본 방법이 없습니다..

 

---------------------

UPDATE users_db
INNER JOIN
wp_usermeta
ON users_db.mb_no = wp_usermeta.user_id
SET users_db.mb_name = wp_usermeta.meta_value
WHERE meta_key = 'first_name'

 

이렇게 해서 회원번호를 매칭시켜서 업데이트 해보았지만

 

wp_usermeta라는 테이블에서 회원번호가 누락된부분이있어서 제대로 옮겨지지않습니다..

 

------------------------

 

UPDATE users_db
SET mb_name =
(SELECT meta_value
 FROM `wp_usermeta`
 WHERE meta_key='first_name');

 

이렇게 해본결과, 서브쿼리는 1개의 값밖에 추출하지못한다는 오류를 선고받았습니다..

저는 여러개의 값을 넣어야하기때문이죠..
그래서 이부분에 대해서 해결방안으로 (SELECT 앞에 ANY를 넣어봤지만.. 구문이 잘못됐다고 오류가 뜨네요..ㅎ
 

---------------------------

 

저만 이렇게 힘든건지 모르겠습니다..

의뢰를 할 수도 없는 상황이라서... 정말 진짜 일주일째 계속 이러고있는데 도와주시면 정말 감사하겠습니다...

 

말로하기엔 정말 간단한건데 쿼리문으로 하려니..

 

회원정보가 1000개가 넘는상황이라서 노가다로 하기에도.. 힘든상황이구요...

이 질문에 댓글 쓰기 :

답변 1

재가 질문을 잘못 이해했을수 있습니다.

 

그러면 님의 질문은 두개의 테이즐이 있는데 같은값(절대값)으로 join 해서 호출????????

그럴경우 라면

 

1. 일단 속도를 위하여 index 를 맞추어 좋습니다.

2. as A left join 메인 테이블명 as EST on (A.필드=B.필드)

 

A라는 테이블과 B라는 테이블이 있는데
A라는 테이블에서 셀렉트한 여러행의 값을 B라는 테이블의 b라는 컬럼에 업데이트하여 넣으려고합니다.
질문이 이해가 되셨나요?

답변을 작성하시기 전에 로그인 해주세요.
전체 110
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT