두 테이블이 있습니다. 하위 문자열 함수를 사용하여이 테이블을 조인해야합니다. 나는 이런 것을 시도했다. 그러나 그것은 ...선택한 텍스트에만 참여할 수 있습니까?
Table01
(작동하지 않는)ID NameStreet
1 Julian Assange 100 Majestic street, Toronto
2 Brad Pit 200 Loaden Blvd, Toronto
3 Allen Sunderland 9, Unit 2, Janet Street, BC
4 Julian Assange 50 Majectic street, Toronto
Table02
ID Name
1 Julian Assange
2 Allen Sunderland
3 Julian Assange
현재 쿼리
SELECT t1.*
FROM Table01 t1
JOIN Table02 t2
ON t2.Name = SUBSTRING(t1.NameStreet, 0, CHARINDEX(t2.Name, t1.NameStreet))
기대 결과를 작동하지 : -
1 Julian Assange 100 Majestic street, Toronto
3 Allen Sunderland 9, Unit 2, Janet Street, BC
4 Julian Assange 50 Majectic street, Toronto
단어 나 첫 번째 문자에만 일치 시키시겠습니까? 즉, 'NameStreet'가'Allen Sunderlander '(또는 무엇이든)로 시작한다면 무엇을 반환할까요? –
X-Zero. 정확히 일치해야합니다. – user1327064
우리가주의해야 할 다른 것들은 무엇입니까? 이름이 여러 개인 사람 (예 : Allen Sunderland Forks)이 있습니까? 이름이 항상 같은 방식으로 입력됩니다. 숫자가 아닌 시작 부분이있는 주소는 어떻게됩니까? 이름의 끝과 주소의 시작을 어떻게 감지 할 수 있습니까? 이것은 구현하기가 불가능할 수도 있습니다 ... (어쨌든 왜 이것을하고 있습니까? 정규화되고 현명한 표현에 액세스 할 수 없습니까?) –