programing

다른 열과 같은 열에 SQL 가입

yoursource 2023. 9. 4. 22:59
반응형

다른 열과 같은 열에 SQL 가입

중복 가능성:
mysql join query가 like를 사용합니까?

한 열에 다른 테이블의 열에 있는 문자열이 포함된 조인을 수행하려고 합니다.

SELECT
a.first_name,
b.age
FROM names a
JOIN ages b
ON b.full_name LIKE '%a.first_name%'

이것이 가능합니까?MySQL을 사용하고 있습니다.물론 LIKE '%a.first_name%'는 열의 실제 값이 아닌 문자열 a.first_name만 찾기 때문에 위 쿼리는 작동하지 않습니다.

문자열을 연결하기만 하면 되며 검색 및 교체도 가능합니다.

SELECT
    a.first_name,
    b.age
FROM names a
JOIN ages b
ON b.full_name LIKE '%' + a.first_name + '%'

CONCAT를 사용할 수 있습니다.

SELECT
  a.first_name,
  b.age
FROM
  names a JOIN ages b
    ON b.full_name LIKE CONCAT('%', a.first_name, '%')

또는 LOCATE, 첫 번째 발생 위치를 반환합니다.a.first_nameb.full_name:

SELECT
  a.first_name,
  b.age
FROM
  names a JOIN ages b
  ON LOCATE(a.first_name, b.full_name)

일치하는 항목이 있으면 조인이 성공합니다.

언급URL : https://stackoverflow.com/questions/14696793/sql-join-on-a-column-like-another-column

반응형