테이블 (table1)에 새 열을 만들었습니다. 다른 테이블, table2에서 데이터를 채우려고합니다.두 문자열에 겹침이 있음을 알면 CharIndex를 반환합니다.
표 1에는 '이름'이라는 열이 있습니다. 'Name'은 열의 언어를 나타내는 하위 문자열을 포함합니다. 이 하위 문자열을 table2의 'Language'열과 비교하고 이름 열에 부분 문자열을 포함하고 해당 LanguageID를 새 열에 삽입하고 싶습니다.
그래서, 예를 들면 :
table1
Name
xxXxxxXxxxxxzxzxzxz xxxazxzxxXXXZxxzxzx 2183909213 ENG-UK nfjksdnfnd 723984782347
및 표 2 다음 표 이름 열에서
table2
Language | ID
ENG-uk | 1
, 이전과 언어 이후의 문자열은 어떤 형태, 문자의 다양한 수를 취할 수 있습니다. 언어는 항상 앞뒤에 공백이 있습니다. 내가 생각이 쿼리 작업을해야했다
table1
Name | LanguageID
xx... | 1
:
그래서, 내가 끝낼 싶어 나는이 프로그램을 실행할 때
INSERT INTO table1 (LanguageID)
SELECT t2.ID FROM table2 t2, table1 t1 WHERE CHARINDEX(LOWER(t2.Language), LOWER(t1.Name)) != null
문제는,이다 .... " (0 행이 영향을 받음) "이 될 수 있습니다.
누구에게 아이디어가 있습니까?
왜 표에 삽입을 사용하고 있습니다. table1의 ID 열을 table2의 일치하는 이름 열로 업데이트 하시겠습니까? – Kashif
첫 번째 테이블 정보에 대해 개별 열을 추가하는 것을 고려해야합니다.그렇지 않으면 SubString 조작으로 인해 성능 문제가 발생합니다. 첫 번째 테이블에서 테이블 스키마가 정규화되지 않았 음을 분명히 알 수 있습니다. 또한 첫 번째 테이블 스키마는 모든 검색/정렬 작업에 적합하지 않습니다. – Nilish
이것은 첫 번째 테이블 정보의 개별 열을 채우기 위해 사용하는 off 명령문입니다. 그것은 정상화되었습니다. –