programing

MySQL의 필드 값과 문자열 연결

firstcheck 2021. 1. 18. 08:04
반응형

MySQL의 필드 값과 문자열 연결


이 질문에 이미 답변이 있습니다.

두 테이블을 LEFT JOIN하기 위해 MySQL 쿼리의 필드 값과 문자열을 연결해야합니다.

표 1에는 61, 78, 94 등과 같은 숫자 값이있는 "category_id"라는 열이 있습니다.

표 2에는 요청 경로 메커니즘을 참조하는 "query"라는 열이 있으며 "product_id = 68", "category_id = 74", "manufacturer_id = 99"등과 같은 값이 있습니다.

따라서 내 쿼리에서 집합 문자열에서 파생 된 연결된 문자열과 "category_id"열의 값이 쿼리 필드와 일치 할 때마다 테이블을 조인해야합니다.

내 SQL 문은 현재 다음과 같습니다.

SELECT * FROM tableOne 
LEFT JOIN tableTwo
ON tableTwo.query = 'category_id=' + tableOne.category_id

나는 || + 연산자 대신 연산자이지만 여전히 운이 없습니다. MySQL에서이 작업을 수행 할 수 있습니까? 아니면 여기에서 총을 쏜 적이 있습니까?


concat () 함수를 사용해 보셨습니까 ?

ON tableTwo.query = concat('category_id=',tableOne.category_id)

SELECT ..., CONCAT( 'category_id=', tableOne.category_id) as query2  FROM tableOne 
LEFT JOIN tableTwo
ON tableTwo.query = query2

여기에 대한 훌륭한 답변이 있습니다.

SET sql_mode='PIPES_AS_CONCAT';

여기에서 더 찾기 : https://stackoverflow.com/a/24777235/4120319

다음은 전체 SQL입니다.

SET sql_mode='PIPES_AS_CONCAT';

SELECT * FROM tableOne 
LEFT JOIN tableTwo
ON tableTwo.query = 'category_id=' || tableOne.category_id;

MySQL은 CONCAT ()사용 하여 문자열을 연결합니다.

SELECT * FROM tableOne 
LEFT JOIN tableTwo
ON tableTwo.query = CONCAT('category_id=', tableOne.category_id)

참조 URL : https://stackoverflow.com/questions/19261760/concatenate-string-with-field-value-in-mysql

반응형