후속 쿼리에 대한 입력으로 SQLite 쿼리 결과를 반복합니다.

회피하다

디스크에 저장된 개별 파일에서 가져온 메타 데이터를 나타내는 다음 필드가있는 단일 SQLite 테이블이 있습니다. 모든 파일에 대한 기록이 있습니다.

__path      denotes the full path and filename (in effect the PK)
__dirpath   denotes the directory path excluding the filename
__dirname   denotes the directory name in which the file is found
refid       denotes an attribute of interest, pulled from the underlying file on disk
  1. 파일은 생성 될 때 __dirname별로 그룹화되고 저장됩니다.
  2. __dirname의 모든 파일은 동일한 참조 ID를 가져야하지만 때때로 참조 ID가 없습니다.
  3. 시작점으로 부적합한 파일이있는 모든 __dirpath를 식별하고 싶습니다.

문제가되는 폴더를 식별하기위한 내 쿼리는 다음과 같습니다.

SELECT __dirpath
  FROM (
           SELECT DISTINCT __dirpath,
                           __dirname,
                           refid
             FROM source
       )
 GROUP BY __dirpath
HAVING count( * ) > 1
 ORDER BY __dirpath, __dirname;

SQLite와 함께 Python과 같은 것을 사용하지 않고 쿼리 결과를 반복하고 각 결과를 다른 쿼리의 입력으로 사용할 수 있습니까? 예를 들어, 실패한 세트에 속하는 레코드를 보려면 다음을 수행하십시오.

SELECT __dirpath, refid
  FROM source
 WHERE __dirpath = <nth result from aforementioned query>;
GMB

문제가되는 모든 행을 원하는 경우 한 가지 옵션은 다음과 같습니다.

select t.*
from (
    select t.*,
        min(refid) over(partition by __dirpath, __dirname) as min_refid,
        max(refid) over(partition by __dirpath, __dirname) as max_refid
    from mytable t
) t
where min_refid <> max_refid

논리는 refid동일한 dir 경로와 dir 이름을 가진 각 행 그룹에 대해 최소값과 최대 값을 비교하는 것 입니다. 그들이 다르면 행이 불쾌합니다.

우리는 또한 exists-가능한 null값을 더 잘 처리 할 수 있습니다 refid.

select t.*
from mytable t
where exists (
    select 1
    from mytable t1
    where 
        t1.__dirpath = t.__dirpath 
        and t1.__dirname = t.__dirname
        and t1.ref_id is not t.ref_id
)

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

다른 쿼리의 출력에서 최대 결과를 얻기위한 쿼리

분류에서Dev

Django : 쿼리 결과를 반복하는 대신 향후 쿼리에 사용

분류에서Dev

알 수없는 쿼리 결과 속성에 대한 반복

분류에서Dev

한 쿼리의 출력을 다른 쿼리에 대한 입력으로 사용

분류에서Dev

한 쿼리의 결과를 다른 쿼리 MongoDB의 조건으로 입력 할 수 있습니까?

분류에서Dev

SQL 행 그룹 목록을 기반으로 쿼리를 반복 (루프)하고 각 반복의 결과를 동일한 테이블에 병합합니다.

분류에서Dev

속성이있는 열을 만들기 위해 Sqlite 쿼리를 입력하는 방법에 대한 순서가 정말 중요합니다.

분류에서Dev

기능 결과를 기반으로 항목에 대한 쿼리 목록

분류에서Dev

Jupyter에서 Sqlite 쿼리에 대한 출력이 없습니다.

분류에서Dev

초기 쿼리에서 반환 된 날짜를 후속 쿼리의 제한으로 사용하는 재귀 쿼리

분류에서Dev

쿼리 결과를 별도의 쿼리에 대한 열로 사용하려면 어떻게해야합니까?

분류에서Dev

Elasticsearch v7로 업그레이드 한 후 쿼리가 모든 결과를 반환합니다.

분류에서Dev

solrj는 다른 쿼리에 대해 동일한 결과를 반환합니다.

분류에서Dev

MySQL (SQLite) : 여러 행 결과가있는 쿼리를 기반으로 행 삽입

분류에서Dev

Linq는 다른 linq 쿼리에 대한 조건으로 결과를 반환했습니다.

분류에서Dev

Linq는 다른 linq 쿼리에 대한 조건으로 결과를 반환했습니다.

분류에서Dev

여러 조건에 대한 sqlite 쿼리 결합

분류에서Dev

한 삽입 쿼리의 결과를 다른 삽입에 삽입

분류에서Dev

한 쿼리의 결과를 다른 쿼리의 결과로 나누기

분류에서Dev

내 쿼리 결과에 하위 쿼리를 사용한 다음 각 행에 대해 계산 된 결과로 ORDER BY하려면 어떻게해야합니까?

분류에서Dev

MySQL에서 두 쿼리를 결합하여 한 쿼리의 결과를 다른 쿼리와 매핑합니다.

분류에서Dev

SQL : 한 쿼리의 결과를 다른 쿼리에 사용

분류에서Dev

MySQL-한 쿼리의 결과를 다른 쿼리에 사용

분류에서Dev

한 쿼리의 결과를 다음 쿼리에 사용

분류에서Dev

tkinter GUI의 개별 행에 대한 sqlite3 쿼리 결과를 출력하는 방법

분류에서Dev

다른 쿼리의 결과에 대한 조건부 SQL 쿼리

분류에서Dev

다른 쿼리의 결과에 대한 쿼리

분류에서Dev

Mongoose Pagination-첫 번째 쿼리에서 1로 제한 한 다음 후속 쿼리에서 10으로 제한

분류에서Dev

쿼리가 쿼리하는 클래스를 전환 한 후 쿼리가 결과를 반환하지 않는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    다른 쿼리의 출력에서 최대 결과를 얻기위한 쿼리

  2. 2

    Django : 쿼리 결과를 반복하는 대신 향후 쿼리에 사용

  3. 3

    알 수없는 쿼리 결과 속성에 대한 반복

  4. 4

    한 쿼리의 출력을 다른 쿼리에 대한 입력으로 사용

  5. 5

    한 쿼리의 결과를 다른 쿼리 MongoDB의 조건으로 입력 할 수 있습니까?

  6. 6

    SQL 행 그룹 목록을 기반으로 쿼리를 반복 (루프)하고 각 반복의 결과를 동일한 테이블에 병합합니다.

  7. 7

    속성이있는 열을 만들기 위해 Sqlite 쿼리를 입력하는 방법에 대한 순서가 정말 중요합니다.

  8. 8

    기능 결과를 기반으로 항목에 대한 쿼리 목록

  9. 9

    Jupyter에서 Sqlite 쿼리에 대한 출력이 없습니다.

  10. 10

    초기 쿼리에서 반환 된 날짜를 후속 쿼리의 제한으로 사용하는 재귀 쿼리

  11. 11

    쿼리 결과를 별도의 쿼리에 대한 열로 사용하려면 어떻게해야합니까?

  12. 12

    Elasticsearch v7로 업그레이드 한 후 쿼리가 모든 결과를 반환합니다.

  13. 13

    solrj는 다른 쿼리에 대해 동일한 결과를 반환합니다.

  14. 14

    MySQL (SQLite) : 여러 행 결과가있는 쿼리를 기반으로 행 삽입

  15. 15

    Linq는 다른 linq 쿼리에 대한 조건으로 결과를 반환했습니다.

  16. 16

    Linq는 다른 linq 쿼리에 대한 조건으로 결과를 반환했습니다.

  17. 17

    여러 조건에 대한 sqlite 쿼리 결합

  18. 18

    한 삽입 쿼리의 결과를 다른 삽입에 삽입

  19. 19

    한 쿼리의 결과를 다른 쿼리의 결과로 나누기

  20. 20

    내 쿼리 결과에 하위 쿼리를 사용한 다음 각 행에 대해 계산 된 결과로 ORDER BY하려면 어떻게해야합니까?

  21. 21

    MySQL에서 두 쿼리를 결합하여 한 쿼리의 결과를 다른 쿼리와 매핑합니다.

  22. 22

    SQL : 한 쿼리의 결과를 다른 쿼리에 사용

  23. 23

    MySQL-한 쿼리의 결과를 다른 쿼리에 사용

  24. 24

    한 쿼리의 결과를 다음 쿼리에 사용

  25. 25

    tkinter GUI의 개별 행에 대한 sqlite3 쿼리 결과를 출력하는 방법

  26. 26

    다른 쿼리의 결과에 대한 조건부 SQL 쿼리

  27. 27

    다른 쿼리의 결과에 대한 쿼리

  28. 28

    Mongoose Pagination-첫 번째 쿼리에서 1로 제한 한 다음 후속 쿼리에서 10으로 제한

  29. 29

    쿼리가 쿼리하는 클래스를 전환 한 후 쿼리가 결과를 반환하지 않는 이유는 무엇입니까?

뜨겁다태그

보관