2017-01-26 8 views
0

제목이이 사운드를 더 어렵게 만들 것이라고 생각합니다.숫자가있는 열을 필터링하고 새 열을 만듭니다.

기본적으로 Orders라는 표가 있습니다. 18 열.

PK는 ORDERID (Nvarchar)라고합니다.

문제 아이는 CustomerID (nvarchar)라는 필드입니다. 이전에이 필드를 사용하여 원시 고객 정보 (Customer1, Customer2 등)를 채 웁니다. 그러나 언젠가 전에 고객 테이블에서 고객에 해당하는 번호 만 삽입하고 프런트 엔드. 원시 고객 데이터가있는 레코드는 고객 테이블에 존재하지만 텍스트가있을 때 CustomerID를 Customer 테이블로 구문 분석하려고하면 조회가 작동하지 않습니다. 프런트 엔드에 공백 필드가 생깁니다.

OrderID(PK) Inquiry# CustomerID 
Z1   I1  Customer1 (Look up on front end does not work) 
Z2   I2  23  (Look up on front end works) 

두 가지 가능한 해결책이 있습니다. 해당 고객 번호 CUSTOMERID (텍스트 -> #)의 변경 이후에 만들어진 만 표시 레코드 프론트 엔드에

  • 수정 쿼리

    1. Repalce 된 CUSTOMERID 그리고 80의 주위에 (모든 사람에게 새로운 프론트 엔드를 밀어 직원)
    2. 숫자 대신 텍스트 값이있는 레코드를 추출하고 dbo.OldOrders와 같은 새로운 테이블을 만듭니다. 새 프런트 엔드를 다시 푸시해야합니다.

    이상적으로 가능한 모든 경우 첫 번째 해결책을 수행하고 싶습니다.

    누구든지 어떤 조언이 있습니까?

  • +0

    ssms에서 숫자가 아닌 레코드가 몇 개인 지 확인했습니다. 'ISNUMERIC ([CustomerID]) <> 1; 7467 행입니다. – Nic

    답변

    0

    숫자로 변환 한 다음 거기에서 당겨 오는보기를 만들 수 있습니까?