database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 4122 게시물 읽기
No. 4122
오라클 게시판에서도 올렸지만
작성자
짠심이
작성일
2008-03-18 09:02
조회수
3,677

다음과 같은 테이블이 있습니다.


예를 들자면

A 테이블


주민등록번호, 아이디, 전화번호, 주소


B 테이블

아이디, 나이, 이름


근데 B테이블에 주민등록번호(not null) 컬럼을 생성(alter table a add 주민등록번호 varchar2(13)) 시켜 A에 있는 주민등록번호를 

B테이블에 업데이트를 해주고 싶습니다.


방법이 있는지요? 

이 글에 대한 댓글이 총 3건 있습니다.
UPDATE TABLEB  B
    SET 주민등록번호 = (SELECT 주민등록번호 FROM TABLEA A WHERE A.아이디  = B.아이디 AND A.주민등록번호 IS NOT NULL) 


이렇게 하시면 되구요. 

mssql 에서는 join update를 하시면 됩니다.
.님이 2008-03-18 09:56에 작성한 댓글입니다. Edit

님 이렇게 친절하게 답변을 주셨는데,

막상 해보면 에러가 납니다.


메시지 102, 수준 15, 상태 1, 줄 1

'B' 근처의 구문이 잘못되었습니다.


어디가 잘못되었는지 모르겠네요. 에궁 이 '하수'에게 한수 지도 부탁드릴께요

짠심이님이 2008-03-18 11:17에 작성한 댓글입니다. Edit

create table testA
(아이디 varchar2(10)
, 주민등록번호 varchar2(13))

create table testB as select * from testA

insert into testA
    select 'A', '123456' from dual union all
    select 'B', '1256' from dual union all
    select 'C', Null from dual

commit


insert into testB (아이디)
    select 'A' from dual union all
    select 'C' from dual union all
    select 'D' from dual
   
   
update testb b
set 주민등록번호 = (select 주민등록번호 from testa a where a.아이디 = b.아이디 and a.주민등록번호 is not null)    


select * from testb


이 샘플쿼리를 그대로 실행해보십시오. 
test환경 
dbms ; oracle 10g
os : windows Vista


 
.님이 2008-03-18 12:39에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
4125sql접속 문자열에 대해 설명 좀 부탁드립니다.
손님
2008-03-19
3582
4124sql서버를 두대 연결해서 쓰고 있습니다.
정명규
2008-03-19
3506
4123매입,매출 비교 쿼리 질문드립니다. [6]
나그네
2008-03-19
7672
4122오라클 게시판에서도 올렸지만 [3]
짠심이
2008-03-18
3677
4121쿼리문이 저장된 파일을 실행 [1]
최자영
2008-03-17
4127
4120show error 시에요..^^;;
김희정
2008-03-17
3951
4119MSSQL과 Informix를 Select할 경우.. [1]
reused
2008-03-17
3618
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다