2009-08-10 3 views
0

루키 질문.특정 기준이있는 테이블에서 레코드를 삭제하는 방법

약 10 개의 필드가있는 표가 있는데, 필드 중 하나는 카테고리 필드입니다. 이 필드는 여러 유형의 범주로 인해 존재해야합니다. 그러나이 분야의 한 범주는 잘못되어 결과가 중복됩니다.

CatDescription 필드에 "Type320"이있는 테이블의 모든 레코드를 삭제할 수 있습니까? 나는이 테이블에있는 그대로 다른 것을 계속 만들고 싶다. 그 하나의 필드에있는 레코드를 제거하면됩니다.

고마워요!

편집 : 답변 감사합니다, 나는이 때문에이

그러나 많은 도움이 될 것입니다 어떻게 해야할지하지 않았다, 이것은 내가 생각했던 것보다 더 복잡합니다. 내가 제공 한 원시 데이터는 이러한 중복 레코드를 전달합니다 (특정 상황에서는 중복되지만 격리하기 쉽습니다). 이 원시 데이터는 여러 스프레드 시트 형식으로 매월 제공됩니다.

이 모든 ID 번호와 관련이 있으며 10 개의 필드 (xls 열)와 같습니다. 이 중 하나가 카테고리 설명 필드가 나오기 전에 말했듯이 (미안, 이것은 조회가 아닙니다.) 특정 장소에서이 레코드는 자동으로 출력에 복제됩니다. 이는 데이터베이스에서 발생하기 때문에 하나의 특정 " type "

그래서 .... 복제가있을 때마다이 필드의 모든 단일 비트는이 CatDescription을 제외하고는 똑같습니다 (하나는 Type320이고 중복 된 레코드 유형은"Type321 "). 그러나 Type321이 자체에서 유효 한 경우도 있습니다 (이 경우 Type320 지정과 일치하는 데이터 행이 없음). 일치 시키면 특정 레코드의 모든 필드에있는 모든 데이터를 의미합니다.

Type320 CatDescription이있는 레코드의 모든 필드 (데이터)가 Type321 CatDescription이있는 레코드의 모든 필드 (데이터)와 일치하면 Type321 CatDescription이 포함 된 해당 레코드를 삭제할 수 있습니다. 이것은 복제가 발생하는 유일한 상황이기 때문에 사실입니다. 일반적으로이 모두가 일치해야하는 것은 아닙니다.

이렇게하면 정확히 일치하지 않는 Type320 및 Type321 데이터가있는 모든 고유 레코드를 유지할 수 있습니다. 그냥해야합니다. 이것은 나에게 의미가있다. (그리고 당신도 역시 : /) 할 수 있을까?

감사합니다. 차라리 액세스하는 방법을 알고 싶지만 xls 솔루션은 똑같이 감사합니다. 여하튼 나는 일을 끝내면 ppt에서 그것을 할 것이다! :)

답변

5

나는이 두 querys 중 하나를 시도 할 것입니다 :

DELETE FROM table WHERE CatDescription LIKE '%Type320%'; 
DELETE FROM table WHERE CatDescription LIKE '*Type320*'; 

그 Access 데이터베이스 엔진 (대신 %의 ANSI-92 Query Mode 예를 들어, OLE DB를 * (ANSI-89 쿼리 모드 예를 들어, DAO)를 사용 할 수 있기 때문에/ADO) 와일드 카드. 이 관계없이 ANSI 쿼리 모드의 대안으로

: Access 데이터베이스 엔진의 ALIKE 키워드가 공식적으로 지원되지 않습니다

DELETE FROM table WHERE CatDescription ALIKE '%Type320%'; 

참고.

+0

조니가 옳습니다. 테이블이 작 으면 꽤 비싸지 만 중요한 것은 아닙니다. 필드에 Type320 만있는 경우 "WHERE CatDescription = 'Type320'" – Praesagus

+0

을 입력하면 왜 대답에 LIKE가 사용되는지 알 수 없습니다. 문제의 부분 일치가 전혀 필요 없다는 표시는 없습니다. –

1

CatDescription 필드가 다른 테이블을 찾습니까? 중복 결과를 작성하는 테이블을 조회하는 것입니까?

그렇다면 CatDescription이있는 테이블을 비난하는 것에주의하십시오. 분류 표에 Type320이 중복되어 있는지 확인하십시오.

문제가 올바르게 분리되지 않은 경우 문제를 해결하지 않은 상태에서 올바른 레코드를 삭제할 가능성이 높습니다.

관련 문제