[SQL] 다른 부분에 하나는 유사하다 열 비교
SQL다른 부분에 하나는 유사하다 열 비교
나는 하나 개의 컬럼이 다른 부분과 같은 경우 내가 볼 수있는 SELECT 문을 작성하는 것을 시도하고있다.
tblNames
ID FullName FirstName
1 Mr. John Doe, CEO John
2 Mr. Jake Doe, Exec Jake
3 Mrs. Betty Smith, Chair Jill
쿼리가 반환해야합니다 :
3 | Mrs.Betty Smith, Chair | Jill
그러나 광산은 테이블의 모든 행을 반환합니다 :
SELECT ID, FullName, FirstName
FROM tblNames
WHERE '%' + FirstName + '%' not like Fullname
어떤 아이디어?
해결법
-
==============================
1.이 같은 때문에, 어디 역 :
이 같은 때문에, 어디 역 :
Fullname not like '%' + FirstName + '%'
-
==============================
2.이 시도:
이 시도:
SELECT * FROM tblNames WHERE ISNULL( CHARINDEX (FirstName , FullName),0) = 0
이 계정에 와일드 카드를 취할 필요가 없습니다 같이 CHARINDEX는 LIKE 절보다 더 빨리 (더 성능이 좋은)입니다. 적은 수의 행과 위의 샘플 데이터는 성능 이점을 표시하지 않습니다,하지만 때 행의 수백만, CHARINDEX는 더 잘 수행한다.
-
==============================
3.이것은 나를 위해 일한 :
이것은 나를 위해 일한 :
SELECT * FROM `table` WHERE `col1` NOT LIKE CONCAT('%', `col2`, '%')
여기 발견 : http://www.edmondscommerce.co.uk/mysql/compare-two-columns-in-mysql/
어떻게 든 그것은 단지 CONCAT 기능이 올바르게 작동 (?).
-
==============================
4.WHERE 절에서 LIKE에 인수를 스위치 :
WHERE 절에서 LIKE에 인수를 스위치 :
SELECT ID, FullName, FirstName FROM tblNames WHERE Fullname not like '%' + FirstName + '%'
와일드 카드는 두 번째 인수해야합니다.
-
==============================
5.사용하는 경우 + 오라클은 수를 예상했다. 문자열의 경우, 샘플을 아래에 사용하십시오 :
사용하는 경우 + 오라클은 수를 예상했다. 문자열의 경우, 샘플을 아래에 사용하십시오 :
SELECT ID, FullName, FirstName FROM tblNames WHERE FullName like '%' || FirstName||'%'
다른 테이블의 컬럼에 테이블의 하나 개의 컬럼을 비교하려면 다음을 수행하십시오
select a.*,table_2_col_1, table_2_col_2 from (select table_1_col_1, table_1_col_2 from table_1 where ) a, table_2 where table_1_col_1 like '%' || table_2_col_1 ||'%'
-
==============================
6.당신은 아마 당신의 경우에 주위의 순서를 전환 할 제외하면, 확인을 본다 :
당신은 아마 당신의 경우에 주위의 순서를 전환 할 제외하면, 확인을 본다 :
WHERE Fullname not like '%' + FirstName + '%'
-
==============================
7.괄호는 문제를 해결 한 것이다.
괄호는 문제를 해결 한 것이다.
SELECT ID, FullName, FirstName FROM tblNames WHERE ('%' + FirstName + '%') not like Fullname
from https://stackoverflow.com/questions/4700550/compare-columns-where-one-is-similar-to-part-of-another by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] Symfony2 및 교리 : 만들기 사용자 정의 SQL-쿼리 (0) | 2020.06.30 |
---|---|
[SQL] MySQL의에서 사용할 수있는 병합 문입니다 (0) | 2020.06.30 |
[SQL] 내부는 세 개의 테이블에 수 ()에 가입 (0) | 2020.06.30 |
[SQL] 어떻게 다른 테이블을 업데이트하는 업데이트 트리거를 사용 하는가? (0) | 2020.06.30 |
[SQL] CLOB에 SUBSTR의 성능 (0) | 2020.06.29 |