2012-10-11 2 views
2

두 테이블의 열에있는 문자열의 일부와 한 테이블의 열의 텍스트를 일치 시키려고합니다. 이미지가 내 웹 페이지에 출력됩니다. 다음은 예입니다1 테이블 열의 텍스트와 다른 테이블 열의 문자열 부분

제품

ID | Prod_Code | Colours 
1 100   Yellow, Orange, Navy 

색상

ID | Colour | Image Link 
1 Yellow Yellow swatch image 
2 Orange Orange swatch image 

무엇을 달성하려고하는 것은 products.colours는 "노란색"텍스트가 포함 된 경우 노란색 견본 이미지가 나타날 것입니다 화면, 오렌지 등 동일합니다.

나는 테이블이 모범 사례를 위해 정규화되어야하지만 불행히도 이것은 나에 의해 설계되지 않았으며 시간 c onstraints.

도움을 주시면 감사하겠습니다.

+0

유사한 질문을 참조하십시오 :와 [중첩 MySQL을 선택 문을 " where 절 "(http://stackoverflow.com/questions/6667378/nested-mysql-select-statement-with-where-in-clause/6667524#6667524) –

+0

당신은'ON FIND_IN_SET (Colors. color, Products.Colours)'를 선택하십시오. –

답변

0

이 같은 시도 : 당신이 등 YELLOW, YELLOW2, 같은 색상이있는 경우 그 비트 배 모양의 갈 수도 있지만

SELECT p.Prod_Code, c.Image_Link 
FROM Products AS p 
    INNER JOIN Colours AS c 
    ON p.Colour LIKE '%' + c.Colour + '%' ; 

+0

나는 이것을 작동시키지 못해서 테이블을 바꿨다. 나는 지금 이와 같은 링크 테이블을 가지고있다. 제품 색상 표 생산 된 제품 | Colour_ID 1 | 2 기본적으로 각 colour_id는 "색상"테이블의 특정 색상에 해당합니다. Product_ID가 제품 테이블의 제품 ID와 같고 colour_ID가 색상 표의 Colour_ID와 같으면 저장 한 색상 이미지를 출력합니다. 색상 표 (나는 이것이 의미가 있기를 바랍니다!) – Matt

관련 문제