고급 필터링을 기반으로 SQL에서 줄 삭제

빈센트 가르시아

법적 이유로 정리해야하는 데이터베이스가 상당히 많습니다. 나는 웹 개발자이지만 SQL 쿼리에 관해서는 경험이 거의 없습니다.

컨텍스트는 "연락처", "회사"및 "소스"필드가있는 CRM입니다.

"source"에는 source1, source2, source3 및 sources4의 4 가지 가능한 값이 있습니다.

"source1"은 법적인 이유로 제거되어야하며 원래 source1에서 온 속임수도 제거해야합니다.

사실, 일부 회사는 중복되고 이전 데이터베이스에서 가져오고 다시 가져 왔을 때 최대 3 개의 소스로 표시됩니다.

이것이 보여주는 방법입니다.

**name | company | source**
name1 |  company1 |  source1 *< delete row (rows with source1 must be deleted)* 
name1 |  company1 |  source2 *< delete row (company1 comes from source1)*
name1 |  company1 |  source3 *< delete row (company1 comes from source1)*
name2 |  company2 |  source1 *< delete row (rows with source1 must be deleted)*
name2 |  company2 |  source2 *< delete row (company2 comes from source1)*
name3 |  company3 |  source2 *< keep row (company3 doesn't come from source1)*
name4 |  company4 |  source3 *< keep row*
name5 |  company5 |  source4 *< keep*

내가해야 할 일은 다음과 같습니다.

1- 회사에 source2가 있고 source1이 포함 된 복제가있는 줄을 제거합니다.

2-이 작업이 완료되면 source2가있는 모든 연락처와 source1을 특징으로하는 dupe에 대해 동일한 작업을 수행합니다.

SQL 요청이 무엇을 할 수 있는지, 어떤 명령을 사용해야하는지 정말 모르겠습니다.

가능합니까?

감사합니다 !

DouglasCamargo

다음과 같이 WHERE 절에 하위 쿼리를 사용할 수 있습니다.

DELETE FROM mytable
  WHERE mytable.company IN (SELECT   mytable.company
                                FROM mytable
                               WHERE mytable.source = 'source1'
                            GROUP BY mytable.company)

또 다른 대안은 EXISTS를 사용하는 것 입니다.

MySQL 해결 방법 (변경되는 테이블이 WHERE 절에서 사용되는 것을 허용하지 않기 때문) :

DELETE FROM mytable
  WHERE mytable.company IN (SELECT   mytbl.company
                                FROM (SELECT * FROM myTable) as mytbl
                               WHERE mytbl.source = 'source1'
                            GROUP BY mytbl.company)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

CSV 파일에서 줄을 삭제하려고, 내 코드는 다음 줄의 선 반을 삭제

분류에서Dev

사용자 지정 속성을 기반으로 ActiveMQ 대기열에서 중복 메시지 필터링 / 삭제

분류에서Dev

사용자 지정 속성을 기반으로 ActiveMQ 대기열에서 중복 메시지 필터링 / 삭제

분류에서Dev

텍스트로 한 줄을 찾고 bash에서 해당 줄에서 다른 줄로 삭제하십시오.

분류에서Dev

serach conditon python을 기반으로 여러 줄 삭제

분류에서Dev

SQL 고급 필터링

분류에서Dev

(이상하게 삭제 된) txt 파일에서 줄을 추출하고 Python으로 새 파일에 씁니다.

분류에서Dev

VBA에서 열의 고유성 제약 조건을 기반으로 중복 행 삭제

분류에서Dev

사용자 입력을 기반으로 보고서 필터링 Microsoft Access

분류에서Dev

사용자 입력을 기반으로 파일에서 특정 줄을 찾은 다음 특정 줄 수를 삭제합니다.

분류에서Dev

자동 필터를 삭제하지 않고 필터링 된 열에서 마지막으로 채워진 행 찾기

분류에서Dev

bash-파일에서 입력 줄을 읽고 삭제

분류에서Dev

파일에서 문자열을 찾고 다음 두 줄 삭제

분류에서Dev

하나의 열 distict 값을 기반으로 결과 집합을 필터링하고 oracle을 사용하여 나머지를 삭제하는 방법

분류에서Dev

기간을 기준으로 필터링 된 데이터 삭제

분류에서Dev

줄에서 문자열을 찾고 전체 줄을 삭제하는 방법

분류에서Dev

줄에서 문자열을 찾고 전체 줄을 삭제하는 방법

분류에서Dev

교대 열을 기반으로 pandas DataFrame에서 행 삭제

분류에서Dev

DAX (powerquery 아님)에서 열을 기반으로 중복 삭제

분류에서Dev

Unix 2 열을 기반으로 csv에서 중복 행 삭제

분류에서Dev

셀 값을 기반으로 Pandas DataFrame에서 행 삭제

분류에서Dev

텍스트로 줄을 검색하고 텍스트 파일에서 삭제 (C #에서 C ++ / CLI로)

분류에서Dev

이것은 ID 별 삭제 방법으로 TodoDataService를 반환합니다. 이제 삭제할 할 일 항목을 필터링하고 싶습니다.

분류에서Dev

열 이름을 기반으로 SQL Enum 값을 만들고 삭제할 수 있습니까?

분류에서Dev

언급 된 로직을 기반으로 데이터 프레임을 와이드에서 롱으로 줄이는 효율적인 방법

분류에서Dev

문자열에서 세로줄을 삭제하는 방법

분류에서Dev

데이터베이스에서 특정 개체를 어떻게 필터링하고 삭제합니까? | Front로 반응하고 Back / API로 Rails로 반응

분류에서Dev

Tableau에서 테이블 계산을 사용하면서 실제로 기본 데이터를 필터링하지 않고 뷰 필터링

분류에서Dev

파일에서 "\"로 여러 줄로 나누어 진 줄을 삭제합니다.

Related 관련 기사

  1. 1

    CSV 파일에서 줄을 삭제하려고, 내 코드는 다음 줄의 선 반을 삭제

  2. 2

    사용자 지정 속성을 기반으로 ActiveMQ 대기열에서 중복 메시지 필터링 / 삭제

  3. 3

    사용자 지정 속성을 기반으로 ActiveMQ 대기열에서 중복 메시지 필터링 / 삭제

  4. 4

    텍스트로 한 줄을 찾고 bash에서 해당 줄에서 다른 줄로 삭제하십시오.

  5. 5

    serach conditon python을 기반으로 여러 줄 삭제

  6. 6

    SQL 고급 필터링

  7. 7

    (이상하게 삭제 된) txt 파일에서 줄을 추출하고 Python으로 새 파일에 씁니다.

  8. 8

    VBA에서 열의 고유성 제약 조건을 기반으로 중복 행 삭제

  9. 9

    사용자 입력을 기반으로 보고서 필터링 Microsoft Access

  10. 10

    사용자 입력을 기반으로 파일에서 특정 줄을 찾은 다음 특정 줄 수를 삭제합니다.

  11. 11

    자동 필터를 삭제하지 않고 필터링 된 열에서 마지막으로 채워진 행 찾기

  12. 12

    bash-파일에서 입력 줄을 읽고 삭제

  13. 13

    파일에서 문자열을 찾고 다음 두 줄 삭제

  14. 14

    하나의 열 distict 값을 기반으로 결과 집합을 필터링하고 oracle을 사용하여 나머지를 삭제하는 방법

  15. 15

    기간을 기준으로 필터링 된 데이터 삭제

  16. 16

    줄에서 문자열을 찾고 전체 줄을 삭제하는 방법

  17. 17

    줄에서 문자열을 찾고 전체 줄을 삭제하는 방법

  18. 18

    교대 열을 기반으로 pandas DataFrame에서 행 삭제

  19. 19

    DAX (powerquery 아님)에서 열을 기반으로 중복 삭제

  20. 20

    Unix 2 열을 기반으로 csv에서 중복 행 삭제

  21. 21

    셀 값을 기반으로 Pandas DataFrame에서 행 삭제

  22. 22

    텍스트로 줄을 검색하고 텍스트 파일에서 삭제 (C #에서 C ++ / CLI로)

  23. 23

    이것은 ID 별 삭제 방법으로 TodoDataService를 반환합니다. 이제 삭제할 할 일 항목을 필터링하고 싶습니다.

  24. 24

    열 이름을 기반으로 SQL Enum 값을 만들고 삭제할 수 있습니까?

  25. 25

    언급 된 로직을 기반으로 데이터 프레임을 와이드에서 롱으로 줄이는 효율적인 방법

  26. 26

    문자열에서 세로줄을 삭제하는 방법

  27. 27

    데이터베이스에서 특정 개체를 어떻게 필터링하고 삭제합니까? | Front로 반응하고 Back / API로 Rails로 반응

  28. 28

    Tableau에서 테이블 계산을 사용하면서 실제로 기본 데이터를 필터링하지 않고 뷰 필터링

  29. 29

    파일에서 "\"로 여러 줄로 나누어 진 줄을 삭제합니다.

뜨겁다태그

보관