Oracle의 having 및 group by 절을 포함하는 Select 문에서 가져온 행 삭제

iandavidson1982

이 select 문이 있습니다.

SELECT d.idcprefix,
         d.orgdept,
         d.idcseq,
         d.subcont, 
         d.actualcomp, 
         COUNT (*) AS "No Duplicates"
    FROM DCS_IDC, DCS_IDC z
   WHERE     D.IDCPREFIX = z.idcprefix
         AND z.orgdept = d.orgdept
         AND z.idcseq = d.idcseq
         and D.SUBCONT is not null
  HAVING COUNT (*) > 1
GROUP BY d.idcprefix,
         d.orgdept,
         d.idcseq,
         d.subcont,
         d.actualcomp
ORDER BY d.idcprefix,
         d.orgdept,
         d.idcseq,
         d.subcont,
         d.actualcomp

이 성명서에서 가져온 행을 삭제하고 싶습니다. 아이디어가 있습니까?

Delete FROM은 ORA-01732: data manipulation operation not legal on this view동일한 테이블이지만 두 테이블을 비교하고 있기 때문에 오류가 발생합니다.

또한 있는 tablename 에서 삭제를 시도했지만 원하는 것보다 훨씬 많은 행을 삭제했습니다.

"중복"은 Subcont를 기반으로합니다. 빈을 의미하는 subcont 필드를 사용하여 데이터베이스 / 응용 프로그램에 삽입 된 레코드가 있었으므로 이제 하나를 제외하고 동일한 레코드가 있습니다. 예를 들어 A가 subcont에 있고 다른 레코드가 비어 있습니다.

idcprefix, subcont, orgdept and idcseq
1          A        ABC         1
1                   ABC         1
2          A        BCD         1
2                   BCD         1

쿼리는 그렇지 않은 레코드와 중복되는 하위 연속이있는 모든 레코드를 표시하며 하위 연속 값이있는 레코드를 제거해야합니다.

도움을 주시면 감사하겠습니다!

Yiannis Nennes

(idcprefix, subcont, orgdept, idcseq)가 고유하다고 가정하면 아래는 어떻습니까?

DELETE FROM DCS_IDC
WHERE (idcprefix, subcont, orgdept, idcseq) IN (
  WITH del AS (
  SELECT d.idcprefix,
     d.orgdept,
     d.idcseq,
     d.subcont, 
     d.actualcomp, 
     COUNT (*) AS "No Duplicates"
  FROM DCS_IDC, DCS_IDC z
  WHERE     D.IDCPREFIX = z.idcprefix
     AND z.orgdept = d.orgdept
     AND z.idcseq = d.idcseq
     and D.SUBCONT is not null
  HAVING COUNT (*) > 1
  GROUP BY d.idcprefix,
     d.orgdept,
     d.idcseq,
     d.subcont,
     d.actualcomp
  ORDER BY d.idcprefix,
     d.orgdept,
     d.idcseq,
     d.subcont,
     d.actualcomp
  )
 SELECT idcprefix, subcont, orgdept, idcseq FROM del
)

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

group by 및 having 절을 사용하여 여러 최대 행 가져 오기

분류에서Dev

GROUP BY 및 HAVING 절이있는 명령문을 DELETE하지 못함

분류에서Dev

그룹이없는 작업 (SELECT 목록에 GROUP BY 절에없는 및 집계되지 열을 포함) 수행

분류에서Dev

조인 조건에서 group by 및 having 절을 사용하고 싶지만 오류가 발생합니까? group by 및 having 절 사용 방법

분류에서Dev

select 문에서 중첩 함수를 사용하는 Oracle group by 절

분류에서Dev

91로 시작하지 않는 10 개 이상의 문자가 포함 된 행을 삭제하는 sed 명령

분류에서Dev

GROUP BY 및 HAVING [SQL]을 사용하는 다양한 제품 범주의 MAX 및 MIN 평균 가격

분류에서Dev

SELECT에는 열을 포함하지만 GROUP BY 절에는 포함하지 않는 SQL Server GROUP BY

분류에서Dev

Pandas에서 값을 포함하지 않는 행 삭제

분류에서Dev

하나의 빈 열을 포함하는 R의 행 삭제

분류에서Dev

Oracle : "즉시 실행"및 행 개수가있는 행 삭제

분류에서Dev

한 열의 문자열에 Pandas 데이터 프레임의 다른 열의 단어가 포함 된 경우 전체 행을 삭제하는 방법

분류에서Dev

{tidyr} 스프레드 함수가 행을 삭제하는 문제

분류에서Dev

% 및 기타 특수 문자를 포함하는 텍스트가있는 Oracle에서 행을 찾고 / 바꾸는 방법

분류에서Dev

GROUP BY 및 HAVING 절을 충족하는 첫 번째 레코드

분류에서Dev

행의 문자열 비교 및 동일한 내용을 포함하는 행 제거

분류에서Dev

A 열에 외부 txt 파일의 텍스트가 포함 된 경우 Excel에서 전체 행을 삭제하는 방법

분류에서Dev

UITableView의 여러 셀을 포함하는 행에서 선택한 이미지 삭제

분류에서Dev

특정 문자열이있는 모든 행을 삭제하지만 동일한 파일의 특정 섹션에서 동일한 문자열을 포함하는 행을 삭제하지 않는 방법

분류에서Dev

Linux에서 문자열을 포함하는 여러 파일의 한 줄 삭제

분류에서Dev

Excel VBA에서 "xxx"가 포함 된 셀 (행)을 삭제하는 우아한 방법

분류에서Dev

특정 데이터가 포함 된 경우 파일에서 행을 삭제하는 방법

분류에서Dev

Oracle에서 두 문자열 사이의 값을 가져 오는 select 문

분류에서Dev

GROUP BY 및 HAVING COUNT> 1 이후에 COUNT의 합계 수행

분류에서Dev

특정 열의 셀에 배열 문자열이 포함되어 있으면 Excel 파일에서 행을 삭제하는 방법은 무엇입니까?

분류에서Dev

Android의 SQLite에서 여러 조건으로 문자열 행을 삭제하는 가장 좋은 방법

분류에서Dev

문자 목록 외부의 문자를 포함하는 데이터 프레임에서 행 삭제

분류에서Dev

Pandas 데이터 프레임의 동일한 열에서 값의 하위 문자열을 포함하는 행을 제거하는 가장 빠른 방법

분류에서Dev

postgres 데이터베이스에서 문자열 / 문장을 포함하는 행 삭제

Related 관련 기사

  1. 1

    group by 및 having 절을 사용하여 여러 최대 행 가져 오기

  2. 2

    GROUP BY 및 HAVING 절이있는 명령문을 DELETE하지 못함

  3. 3

    그룹이없는 작업 (SELECT 목록에 GROUP BY 절에없는 및 집계되지 열을 포함) 수행

  4. 4

    조인 조건에서 group by 및 having 절을 사용하고 싶지만 오류가 발생합니까? group by 및 having 절 사용 방법

  5. 5

    select 문에서 중첩 함수를 사용하는 Oracle group by 절

  6. 6

    91로 시작하지 않는 10 개 이상의 문자가 포함 된 행을 삭제하는 sed 명령

  7. 7

    GROUP BY 및 HAVING [SQL]을 사용하는 다양한 제품 범주의 MAX 및 MIN 평균 가격

  8. 8

    SELECT에는 열을 포함하지만 GROUP BY 절에는 포함하지 않는 SQL Server GROUP BY

  9. 9

    Pandas에서 값을 포함하지 않는 행 삭제

  10. 10

    하나의 빈 열을 포함하는 R의 행 삭제

  11. 11

    Oracle : "즉시 실행"및 행 개수가있는 행 삭제

  12. 12

    한 열의 문자열에 Pandas 데이터 프레임의 다른 열의 단어가 포함 된 경우 전체 행을 삭제하는 방법

  13. 13

    {tidyr} 스프레드 함수가 행을 삭제하는 문제

  14. 14

    % 및 기타 특수 문자를 포함하는 텍스트가있는 Oracle에서 행을 찾고 / 바꾸는 방법

  15. 15

    GROUP BY 및 HAVING 절을 충족하는 첫 번째 레코드

  16. 16

    행의 문자열 비교 및 동일한 내용을 포함하는 행 제거

  17. 17

    A 열에 외부 txt 파일의 텍스트가 포함 된 경우 Excel에서 전체 행을 삭제하는 방법

  18. 18

    UITableView의 여러 셀을 포함하는 행에서 선택한 이미지 삭제

  19. 19

    특정 문자열이있는 모든 행을 삭제하지만 동일한 파일의 특정 섹션에서 동일한 문자열을 포함하는 행을 삭제하지 않는 방법

  20. 20

    Linux에서 문자열을 포함하는 여러 파일의 한 줄 삭제

  21. 21

    Excel VBA에서 "xxx"가 포함 된 셀 (행)을 삭제하는 우아한 방법

  22. 22

    특정 데이터가 포함 된 경우 파일에서 행을 삭제하는 방법

  23. 23

    Oracle에서 두 문자열 사이의 값을 가져 오는 select 문

  24. 24

    GROUP BY 및 HAVING COUNT> 1 이후에 COUNT의 합계 수행

  25. 25

    특정 열의 셀에 배열 문자열이 포함되어 있으면 Excel 파일에서 행을 삭제하는 방법은 무엇입니까?

  26. 26

    Android의 SQLite에서 여러 조건으로 문자열 행을 삭제하는 가장 좋은 방법

  27. 27

    문자 목록 외부의 문자를 포함하는 데이터 프레임에서 행 삭제

  28. 28

    Pandas 데이터 프레임의 동일한 열에서 값의 하위 문자열을 포함하는 행을 제거하는 가장 빠른 방법

  29. 29

    postgres 데이터베이스에서 문자열 / 문장을 포함하는 행 삭제

뜨겁다태그

보관