2011-09-29 3 views
0

내 문제는 이것이다 동일하지 않은 컬럼 값을 기준으로 행을 얻을 방법을 알아낼 수 없습니다 웬디 "와" "나는 그 fastfood_info라는 다른 테이블에 필드가 한 다음

"fastfood_chain을 웬디 "또는"척 "

"하지만 값이 다른 테이블에 동일하지 않습니다, 그것은을 단축의 '땅콩 척

fastfood_chain의 모든 행을 어떻게 표시하고 결과가 "We ndys "또는"Chucks "입니까?

나는 LIKE 문과 관련이 있다고 생각했지만 어려움을 겪고 있습니다. 어떤 도움을 주시면 감사하겠습니다.

+0

당신은에있는 두 개의 테이블과 일치하는 모든 후, 행운이 일치하지 않는 이름 인 경우. –

+0

나는 조 (Joe)에 동의한다. 현재 '땅콩 척'을 '척 (Chucks)'과 묶는 실제적인 방법은 없다. 이것이 외래 키를'fastfood_chain' 테이블에 저장하는 이유입니다. 오,이 말은 'fastfood_chains'이 일종의 다중 값 열 (예 : 쉼표로 구분 된 목록)이라는 것을 의미합니다. 그렇다면 수동 조작이 필요합니다. –

+0

죄송합니다. 끝에 "s"를 추가하지 않았습니다. 나는 실제 하위 집합을 의미 – volk

답변

2

두 번째 테이블의 fastfood_chain에 첫 번째 테이블의 fastfood_chain 하위 세트 만 포함되어있는 경우. 나는 확실히 당신은 결과에 싶어 정확히 무엇을 열 이해하지 못했지만, 당신은 FFF 및 FFC 접두사를 나열 할 수 있습니다

SELECT * FROM fastfood_chains ffc 
INNER JOIN fastfood_info ffi ON 
    ffc.fastfood_chain LIKE CONCAT('%', ffi.fastfood_chain, '%') 

이 많은 요인에 따라 매우 느릴 수 있습니다.

추신 : 현재 MySQL 인스턴스에 액세스 할 수 없습니다. 희망은 지금 작동합니다. MSSQL 사용자의 경우, 마지막 행은 다음과 같습니다이 일을

 ffc.fastfood_chain LIKE '%' + ffi.fastfood_chain + '%' 
+0

나는 이것을 얻고 메신저를 얻으려고했다 "당신은 SQL 구문에 오류가있어서 '+ ffi.fastfood_chain +'% 'LIMIT 0 근처에서 사용할 올바른 구문에 대한 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. , 30 'at line 4 – volk

+0

이것은 MSSQL 구문으로, MySQL 구문으로 즉시 게시물을 편집합니다. –

+0

대단히 고마워요. 작동했습니다 :) – volk

1

가능한 방법은 다음과 같습니다

SELECT F.FASTFOOD_CHAIN, I.* 
FROM FASTFOOD F 
LEFT OUTER JOIN FASTFOOD_INFO I 
ON F.FASTFOOD_CHAIN LIKE '%' || I.FASTFOOD_CHAIN || '%' 
+0

그냥 시도하고 # 1066을 받고 있어요 - 고유 테이블/별칭 : '나는' – volk