:::: 개발 ::::/::: MSSQL :::

테이블 비교 중복 제거 & 액셀 & 쿼리

nayha 2016. 1. 5. 15:37
반응형


액셀 



 A

 =IF(COUNTIF(B:B,A:A),"",AA)

7

 

 

 4

 



=IF(COUNTIF(B:B,A:A),"",AA)

A 셀과 B 셀 비교하여 C셀에는 중복 되지 않은 값만 들어가게 ..


출처 http://libkcg.tistory.com/59


쿼리


CREATE TABLE TB_A
(
 item_cd varchar(20),
 item_nm varchar(20),
 item_qty int,
 item_add int
)
GO


CREATE TABLE TB_B
(
 item_cd varchar(20),
 item_nm varchar(20),
 item_qty int,
 item_add int
)
GO

INSERT INTO TB_A (item_cd, item_nm, item_qty, item_add) VALUES ('CAR-1', '자동차', 1, 2)
INSERT INTO TB_A (item_cd, item_nm, item_qty, item_add) VALUES ('CAR-2', '리어커', 2, 3)
INSERT INTO TB_A (item_cd, item_nm, item_qty, item_add) VALUES ('CAR-3', '자전거', 1, 4)


INSERT INTO TB_B (item_cd, item_nm, item_qty, item_add) VALUES ('CAR-3', '자동차', 1, 2)
INSERT INTO TB_B (item_cd, item_nm, item_qty, item_add) VALUES ('CAR-4', '공놀이', 2, 3)
INSERT INTO TB_B (item_cd, item_nm, item_qty, item_add) VALUES ('CAR-5', '물놀이', 1, 4)

GO


-- 20160513 추가


 테이블 복사하기 스키마 데이터

CREATE TABLE 새로만들테이블명 AS

SELECT * FROM 복사할테이블명 [WHERE 절]

 

 테이블 구조만 복사하기

CREATE TABLE 새로만들테이블명 AS

SELECT * FROM 복사할테이블명 WHERE 1=2 [where에다가 참이 아닌 조건을 넣어줌]

 

 테이블은 이미 생성되어 있고 데이터만 복사

INSERT INTO 복사할테이블명 SELECT * FROM 복사할테이블명 [WHERE 절]


테이블 만들고 데이타 삽입 !!!


INSERT INTO TB_A
SELECT
 *
FROM TB_B
WHERE 
 item_cd NOT IN 
  (SELECT item_cd FROM TB_A)


B테이블에는 있고 A 테이블에 없는 item_cd  찾아 A 테이블에 전체 컬럼 인서트 .. 말로 쓰니 기네..


중복 체크 해야


필드 선택 삽입..


INSERT INTO TB_A (item_cd)
SELECT
 item_cd
FROM TB_B
WHERE 
 item_cd NOT IN 
  (SELECT item_cd FROM TB_A)


B테이블에는 있고 A 테이블에 없는 item_cd  찾아 A 테이블에 item_cd 컬럼만





반응형