여기에 약간의 레거시 데이터베이스를 다루고 있으며 검색 쿼리 작성에 약간의 문제가 있습니다.선택할 때 MySQL이 열에 연결됩니다.
해당 테이블 두 개는 products
및 tours
(제품 당 다중)입니다.
내 일반 질의는 다음과 같습니다
SELECT products.*, tours.* FROM products INNER JOIN tours
ON products.id=tours.product_id
GROUP BY products.id
지금 여기에 내가 문제가있어 부분입니다. products
테이블에 countries
열이 포함되어 있습니다.이 ID는 파이프로 구분 된 국가 ID 목록입니다 (예 : 13|45|33|29|133|337
). 예를 들어, 나라가 33
인 products
의 목록을 반환해야합니다.
간단히하기 위해 where products.countries LIKE '%33%'
을 할 수 있지만 133
과 337
도 반환합니다. where products.countries LIKE '%|33|%'
을 사용해야합니다. 처음 또는 마지막 인 경우 일치하지 않습니다.
SELECT products.*, tours.*, CONCAT("|",products.countries,"|") AS country_list
FROM products INNER JOIN tours ON products.id=tours.product_id
GROUP BY products.id
을 내가 WHERE country_list LIKE '|%33%|'
을 추가하려고한다면, 내가 "undefined index: country_list"
오류 ..
여기서 내가 뭘 잘못하고 있니?
WHERE products.countries LIKE '% 33 %', – helle
@helle 또한 '133'과 '337'과 일치합니다. 잘못된 것입니다 – Jeriko