반응형
MySQL의 필드 값과 문자열 연결
이 질문에 이미 답변이 있습니다.
- MySQL 연결 연산자 6 답변
두 테이블을 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
반응형
'programing' 카테고리의 다른 글
log4j : WARN 로거에 대한 어 펜더를 찾을 수 없습니다 (웹 앱이 아닌 jar 파일 실행). (0) | 2021.01.18 |
---|---|
슬라이더 전후에 다른 색상을 갖도록 HTML5 범위 입력 스타일을 지정하는 방법은 무엇입니까? (0) | 2021.01.18 |
명령 줄을 사용하는 동안 CQL로 현재 타임 스탬프를 얻는 방법은 무엇입니까? (0) | 2021.01.18 |
파이썬에서 적절한 '아무것도하지 않는'람다 식? (0) | 2021.01.18 |
grep () / gsub ()를 사용하여 정확한 일치를 찾는 방법 (0) | 2021.01.18 |