全角空文字を利用して、名字だけ比較するSQL
1. TB_AとTB_BをJOINする
2. JOIN条件はTB_AのNameカラムとNameカラムとTB_BのNameカラムの名字が同じものにする
3. 名字の区別方法
① Nameカラムのデータの中で全角空文字が入っていれば人の名前と見なし、
全角空文字の前の部分だけ比較対象にする
② Nameカラムのデータの中で全角空文字が入ってなければデータ全部を比較対象にする(例ー会社名)
SELECT
*
FROM
TB_A
LEFT OUTER JOIN TB_B ON
Reverse(Substring(Reverse(TB_A.Name), Charindex(' ', Reverse(TB_A.Name))+1, Len(TB_A.Name))) =
Reverse(Substring(Reverse(TB_A.Name), Charindex(' ', Reverse(TB_A.Name))+1, Len(TB_A.Name)))
'개발 > DB' 카테고리의 다른 글
PostgreSQL | 테이블/컬럼 정보조회 SQL (0) | 2016.02.03 |
---|---|
[예제로 배우는 오라클SQL] 해당 테이블의 필드목록 조회하기 (0) | 2013.05.03 |
[예제로 배우는 오라클SQL] 세션에서 ROW LOCK 조회 및 LOCK 해제 (0) | 2013.04.24 |
[예제로 배우는 MS-SQL] 일련번호 생성 함수 - ROW_NUMBER (0) | 2011.03.22 |
[예제로 배우는 MS-SQL] 데이타베이스 로그 삭제(초기화) (0) | 2010.07.20 |
[예제로 배우는 MS-SQL] 숫자를 엔표시로 변환 - REPLACE, CONVERT, CAST (0) | 2009.11.20 |
[예제로 배우는 MS-SQL] 전각문자 공백제거 - REPLACE, LTRIM, RTRIM (0) | 2009.11.20 |
[예제로 배우는 MS-SQL] 저장프로시져 예 (0) | 2009.11.20 |