@Cylindric이 데이터베이스 설계를 변경할 수 있다고 말한 것처럼!
두 개의 테이블을 만듭니다. 하나는 제안 용이고 다른 하나는 위치 용입니다.
OFFERS (id, name)
LOCATIONS (offer_id, name)
그래서 (예를 들어) 당신은 OFFERS에서 (1, 'offer1')
및 위치에
(1, 'Bangalore'), (1, 'Mumbai') and (1, 'Chennai')
있습니다.
귀하의 질의는 쉬울 것입니다 :
SELECT o.name, l.name FROM offers o
INNER JOIN locations l ON o.id = l.offer_id
는 솔직히 말해서, 당신은 위치 반복 피하기 위해 세 개의 테이블이 있어야합니다 당신은 OFFERS에서
(1, 'offer1')
이
OFFERS (id, name)
LOCATIONS (id, name)
OFFERS_LOC (offer_id, loc_id)
,
을 LOCATIONS의 (1, 'Bangalore'), (2, 'Mumbai') and (3, 'Chennai')
및
OFFERS_LOC의(1, 1), (1, 2) and (1, 3)
당신은 여전히이 응용 프로그램을 개발하는 경우
조회에
SELECT o.name, l.name FROM offers o
INNER JOIN offers_loc ol ON o.id = ol.offer_id
INNER JOIN locations l ON ol.loc_id = l.id
될 것, 그것을 변경 * 지금 * 당신은 필드에 쉼표로 구분 된 목록을 저장하지 않을 수 있도록. 그렇지 않으면 동일한 내용에 대한 수천 개의 결과에 대해 [search here] (http://stackoverflow.com/search?q=mysql+split+column)를 참조하십시오. – Cylindric
예 .. 아이디어를 얻었습니다. 정말 고맙습니다. – bid