>

기본적으로 다음과 같은 이름의 열이있는 테이블이 있습니다 :

ATTRIBUTE10, ATTRIBUTE11, ATTRIBUTE12 ... ATTRIBUTE50

ATTRIBUTE10 to ATTRIBUTE50 not null 의 모든 열을 제공하는 쿼리를 원합니다.

  • 답변 # 1

    다른 사람들이 언급했듯이 우리는 귀하의 요구 사항을 정확히 확신하지 못하지만 목록을 원하면 UNPIVOT이 할 수 있습니다 ...

    SELECT  attribute , value
    FROM   
       (SELECT * from YourFile) p  
    UNPIVOT  
       (value FOR attribute IN   
          (attribute1, attribute2, attribute3, etc.)  
    )AS unpvt
    
    

  • 답변 # 2

    모든 열의 조건을 사용할 수 있거나 아래와 같이 연산자 사이를 사용할 수 있습니다

    .

    모든 열에 대해

    여기서 ATTRIBUTE10은 null이 아니고 ATTRIBUTE11은 null이 아닙니다 ......... ATTRIBUTE50은 null이 아닙니다

    운영자 사이를 사용하여

    ATTRIBUTE11과 ATTRIBUTE50 사이의 ATTRIBUTE10

  • 답변 # 3

    이 문제에 접근하는 한 가지 방법은 이름이 같은 표를 하나의 속성이있는 속성으로 전개하는 것입니다. 적절한 외래 키를 원래 테이블로 되돌려 놓습니다. 그래서 다음과 같습니다 :

    CREATE TABLE ATTR_TABLE AS
    SELECT ID_ATTR, ID_TABLE_WITH_ATTRS, ATTR
        FROM (SELECT ((ID_TABLE_WITH_ATTRS-1)*100)+1 AS ID_ATTR, ID_TABLE_WITH_ATTRS, ATTRIBUTE10 AS ATTR FROM TABLE_WITH_ATTRS UNION ALL
              SELECT ((ID_TABLE_WITH_ATTRS-1)*100)+2, ID_TABLE_WITH_ATTRS, ATTRIBUTE11 FROM TABLE_WITH_ATTRS UNION ALL
              SELECT ((ID_TABLE_WITH_ATTRS-1)*100)+3, ID_TABLE_WITH_ATTRS, ATTRIBUTE12 FROM TABLE_WITH_ATTRS);
    
    

    이것은 ATTRIBUTE10, ATTRIBUTE11 및 ATTRIBUTE12 만 전개하지만 아이디어를 얻을 수 있어야합니다. 나머지 속성에는 약간의 컷 앤 페이스트가 필요합니다.

    이 테이블을 쿼리하여 NULL이 아닌 속성을 찾을 수 있습니다

    SELECT *
      FROM ATTR_TABLE
      WHERE ATTR IS NOT NULL
      ORDER BY ID_ATTR
    
    

    행복하게 반복되는이 테이블을 다루는 데 어려움이 있기를 바랍니다. 반복 된 필드 또는 필드 그룹이있는 테이블이나쁜 생각.

    여기에서 dbfiddle

  • 이전 angular - 선택기로 컴포넌트를로드하기 전에 데이터를 프리 페치
  • 다음 자식 경로 내에서 앵귤러 재질로 라우팅 된 탭을 구현하는 방법은 무엇입니까?