데이터베이스 테이블에서 기본 키, ID 열 및 특정 이름 열 검색

사미르 술 카노 비치

선택한 데이터베이스의 모든 테이블에서 기본 키 (있는 경우), ID (있는 경우) 및 'ID'(있는 경우)라는 열을 가져와야합니다. 작업을 수행 할 SQL 쿼리가 있지만 쿼리는 기본 키에 "아니오"와 "예"값이 모두있는 레코드를 반환합니다. 따라서 여러 행의 데이터가 생성되었으므로 DISTINCT라는 단어를 사용하여 중복을 제거했습니다. 나는 이것이 일부 열에 정의 된 인덱스 때문이라고 가정하고 있습니다.

이 문제를 어떻게 해결할 수 있습니까?

사용 된 SQL 쿼리 :

SELECT DISTINCT
    object_name(i.object_id) [Table], 
    c.name [Column], 
    IIF(i.is_primary_key = 1, 'Yes', 'No') [PK], 
    IIF(c.is_identity = 1, 'Yes', 'No') [Identity],
    IIF(UPPER(c.name) = 'ID', 'Yes', 'No') [Named ID]
FROM sys.indexes i
    INNER JOIN sys.columns c ON c.object_id = i.object_id
    INNER JOIN sys.identity_columns idc ON idc.object_id = c.object_id AND idc.column_id = c.column_id
WHERE 
    i.is_primary_key = 1 OR c.is_identity = 1 OR c.name = 'ID'
ORDER BY [Table];
사미르 술 카노 비치

앞으로 비슷한 것이 필요한 사람을 위해 Peter의 답변 버전을 채택했습니다 (Sean Lange의 sys.tables 사용에 대한 조언 포함).

SELECT 
    t.name AS [Table], 
    c.name AS [Column], 
    CASE i.is_primary_key WHEN 1 THEN 'Yes' ELSE 'No' END [PK], 
    CASE idc.is_identity WHEN 1 THEN 'Yes' ELSE 'No' END [Identity],
    CASE c.name WHEN 'ID' THEN 'Yes' ELSE 'No' END [Named ID]
FROM 
    sys.tables t 
    LEFT JOIN sys.columns c ON c.object_id = t.object_id
    LEFT JOIN sys.identity_columns idc ON idc.object_id = t.object_id AND idc.column_id = c.column_id AND idc.is_identity = 1
    LEFT JOIN sys.index_columns ic ON ic.object_id = t.object_id AND ic.column_id = c.column_id
    LEFT JOIN sys.indexes i ON i.object_id = t.object_id AND i.index_id = ic.index_id AND i.is_primary_key = 1
WHERE t.type = 'U' AND (idc.is_identity = 1 OR i.is_primary_key = 1 OR c.name = 'ID')
ORDER BY t.name, c.name;

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

기본 키 및 외래 키의 일부가 아닌 특정 데이터베이스의 모든 테이블에서 모든 열을 검색하는 방법

분류에서Dev

Android SQite 데이터베이스 검색 및 열 찾기 오류

분류에서Dev

데이터베이스의 기본 키 ID를 기반으로 PHP에서 배열 다시 색인화

분류에서Dev

테이블 열 이름 및 데이터에서 json 키 값 만들기

분류에서Dev

지정된 열 이름 SQL Server를 사용하여 모든 테이블 및 모든 데이터베이스에서 열 이름 찾기

분류에서Dev

Firebird 데이터베이스에서 기본 키인 모든 열 이름 찾기

분류에서Dev

SQLServer에서 ID 및 기본 키없이 테이블의 열 값을 자동으로 증가시키는 방법

분류에서Dev

전체 데이터베이스에서 기본 키를 사용하여 특정 열을 가져 오는 방법

분류에서Dev

여러 열 및 테이블에서 이름 검색

분류에서Dev

테이블 이름, 행 및 열 인덱스가있는 테이블에서 특정 값 가져 오기

분류에서Dev

두 데이터베이스에서 테이블의 특정 열 가져 오기 / 내보내기 및 mysql에서 중복 이메일 제외

분류에서Dev

코드에서 기본 데이터베이스 연결 문자열 검색

분류에서Dev

Smarty에서 테이블 및 데이터베이스 배열 가져 오기

분류에서Dev

EF Core에서 데이터베이스 테이블 기본 키 열 목록을 가져 오는 방법

분류에서Dev

데이터베이스의보기 열에서 검색

분류에서Dev

데이터베이스 이름과 스키마 및 테이블 이름을 전달하여 열 가져 오기 시도

분류에서Dev

Postgres-테이블의 열에서 특정 값 검색

분류에서Dev

데이터베이스의 모든 테이블 내에서 열 이름을 검색하는 방법

분류에서Dev

데이터 테이블에서 특정 열의 색상 변경

분류에서Dev

PHP에서 특정 값을 포함하는 데이터베이스 테이블에서 검색된 쉼표로 구분 된 배열을 계산하는 방법

분류에서Dev

특정 데이터베이스에서 테이블의 열 이름을 어떻게 얻습니까?

분류에서Dev

Shiny R에서 파일 정보 (이름, 크기, 행 및 열 번호) 검색

분류에서Dev

데이터베이스의 특정 ID에 대한 배열 값 업데이트

분류에서Dev

데이터베이스 테이블에서 문자열을 검색하고 laravel에서 일치하는 열 이름을 검색하는 방법

분류에서Dev

Excel에서 기존 테이블 이름 및 열의 데이터 유효성 검사 목록을 정의 할 수 없습니다.

분류에서Dev

문자열 조작 ID로 데이터베이스 ID 필드 검색

분류에서Dev

키 배열을 기반으로 데이터베이스에서 데이터를 검색하는 방법은 각각 값이 있습니까?

분류에서Dev

기본 키 테이블의 특정 열이 업데이트 (트리거 사용) 인 경우 새 열을 외래 키 테이블에 삽입합니다.

분류에서Dev

Xamarin의 SQLite 데이터베이스에 배열 저장 및 검색

Related 관련 기사

  1. 1

    기본 키 및 외래 키의 일부가 아닌 특정 데이터베이스의 모든 테이블에서 모든 열을 검색하는 방법

  2. 2

    Android SQite 데이터베이스 검색 및 열 찾기 오류

  3. 3

    데이터베이스의 기본 키 ID를 기반으로 PHP에서 배열 다시 색인화

  4. 4

    테이블 열 이름 및 데이터에서 json 키 값 만들기

  5. 5

    지정된 열 이름 SQL Server를 사용하여 모든 테이블 및 모든 데이터베이스에서 열 이름 찾기

  6. 6

    Firebird 데이터베이스에서 기본 키인 모든 열 이름 찾기

  7. 7

    SQLServer에서 ID 및 기본 키없이 테이블의 열 값을 자동으로 증가시키는 방법

  8. 8

    전체 데이터베이스에서 기본 키를 사용하여 특정 열을 가져 오는 방법

  9. 9

    여러 열 및 테이블에서 이름 검색

  10. 10

    테이블 이름, 행 및 열 인덱스가있는 테이블에서 특정 값 가져 오기

  11. 11

    두 데이터베이스에서 테이블의 특정 열 가져 오기 / 내보내기 및 mysql에서 중복 이메일 제외

  12. 12

    코드에서 기본 데이터베이스 연결 문자열 검색

  13. 13

    Smarty에서 테이블 및 데이터베이스 배열 가져 오기

  14. 14

    EF Core에서 데이터베이스 테이블 기본 키 열 목록을 가져 오는 방법

  15. 15

    데이터베이스의보기 열에서 검색

  16. 16

    데이터베이스 이름과 스키마 및 테이블 이름을 전달하여 열 가져 오기 시도

  17. 17

    Postgres-테이블의 열에서 특정 값 검색

  18. 18

    데이터베이스의 모든 테이블 내에서 열 이름을 검색하는 방법

  19. 19

    데이터 테이블에서 특정 열의 색상 변경

  20. 20

    PHP에서 특정 값을 포함하는 데이터베이스 테이블에서 검색된 쉼표로 구분 된 배열을 계산하는 방법

  21. 21

    특정 데이터베이스에서 테이블의 열 이름을 어떻게 얻습니까?

  22. 22

    Shiny R에서 파일 정보 (이름, 크기, 행 및 열 번호) 검색

  23. 23

    데이터베이스의 특정 ID에 대한 배열 값 업데이트

  24. 24

    데이터베이스 테이블에서 문자열을 검색하고 laravel에서 일치하는 열 이름을 검색하는 방법

  25. 25

    Excel에서 기존 테이블 이름 및 열의 데이터 유효성 검사 목록을 정의 할 수 없습니다.

  26. 26

    문자열 조작 ID로 데이터베이스 ID 필드 검색

  27. 27

    키 배열을 기반으로 데이터베이스에서 데이터를 검색하는 방법은 각각 값이 있습니까?

  28. 28

    기본 키 테이블의 특정 열이 업데이트 (트리거 사용) 인 경우 새 열을 외래 키 테이블에 삽입합니다.

  29. 29

    Xamarin의 SQLite 데이터베이스에 배열 저장 및 검색

뜨겁다태그

보관