정수 배열을 반환하는 Hasura의 계산 된 필드

아부 말릭

문제

정수 배열을 반환하는 계산 된 필드를 추가하려고합니다. Hasura는 현재 SETOF <table-name>또는 BASE유형 중 하나의 반환 유형을 지원 합니다. 나는 반환을 시도했지만 integer[]실패했습니다 ( BASE유형 이 아닙니다 ). 해결 방법이 있습니까?

내가 시도한 것입니다

두 개의 테이블이 있습니다. 코스와 퀴즈, 코스에는 퀴즈가 많고, 각 퀴즈에는 난이도라는 정수 필드가 있습니다. 관련 퀴즈의 뚜렷한 난이도를 나열하는 계산 된 필드를 코스 테이블에 추가하고 싶습니다.

SQL을 사용하면 다음 쿼리로이 목록을 생성하는 배열을 만들 수 있습니다.

SELECT array(SELECT DISTINCT difficulty FROM quizzes
  WHERE course_id = 1 ORDER BY difficulty ASC);

따라서이 쿼리의 결과를 반환하는 함수를 만들고 강좌 테이블에 계산 된 필드로 추가합니다.

CREATE OR REPLACE FUNCTION courses_quiz_difficulties(course_row courses)
RETURNS integer[] AS $$
  SELECT array(SELECT DISTINCT difficulty FROM quizzes
  WHERE course_id = course_row.id ORDER BY difficulty ASC);
$$
LANGUAGE SQL STABLE;

계산 된 필드를 추가하려고하면 int 배열이 BASE 유형이 아니기 때문에 오류가 발생합니다.

"courses"테이블에서 : 계산 된 필드 "quiz_difficulties"에서 : 유형 _int4를 반환하는 "courses_quiz_difficulties"함수가 BASE 유형이 아니기 때문에 계산 된 필드 "quiz_difficulties"를 테이블 "courses"에 추가 할 수 없습니다.

Hasura와 함께 작동 할 수있는 방법이 있습니까?

다음은 해당 문서입니다.

https://hasura.io/docs/1.0/graphql/manual/schema/computed-fields.html#supported-sql-functions

아부 말릭

간단한보기로 내가 원하는 결과를 얻었습니다.

CREATE VIEW course_quiz_difficulties AS        
    SELECT 
        course_id, 
        array_agg(DISTINCT difficulty ORDER BY difficulty) as quiz_difficulties
    FROM quizzes GROUP BY course_id

그 후에 코스와 새보기 사이의 관계를 수동으로 추가 할 수 있습니다. courses . id → course_quiz_difficulties . course_id

Hasura를 사용하면 다음에서 quiz_difficulties를 쿼리 할 수 ​​있습니다 courses.

query MyCourseQuizDifficulties {
  courses(limit: 1) {
    id
    quiz_difficulties {
      quiz_difficulties
    }
  }
}

그리고 우리는이 결과를 얻습니다 :

{
  "data": {
    "courses": [
      {
        "id": 1,
        "quiz_difficulties": {
          "quiz_difficulties": [
            1,
            2
          ]
        }
      }
    ]
  }
}

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

계산 된 배열을 배열 수식으로 반환하는 방법

분류에서Dev

동일한 값 SQL을 반환하는 계산 된 필드

분류에서Dev

vue의 계산 된 속성 배열 필드에서 배열을 만드는 방법은 무엇입니까?

분류에서Dev

계산 된 필드를 사용하여 피벗의 총합계 수정

분류에서Dev

사용자 지정 함수를 사용하여 Hasura에서 계산 된 필드를 만들려고합니다.

분류에서Dev

지정된 각 필드를 계산하고 각 필드의 합계를 계산하는 Javascript 루프

분류에서Dev

배열의 특정 필드 계산

분류에서Dev

다른 필드의 합계 및 개수를 기반으로 계산 된 필드

분류에서Dev

계산 된 필드의 수식을 검색 하시겠습니까?

분류에서Dev

빈 필드를 찾고 누락 된 필드의 값을 계산하는 방법

분류에서Dev

지정된 행의 여러 열에서 값을 계산할 수있는 수식을 만드는 방법

분류에서Dev

공유 지점에서 문자열을 date ()로 변환하는 계산 된 필드에 대한 수식

분류에서Dev

두 필드로 계산 된 객체 및 배열 정렬

분류에서Dev

데이터 바인딩을 사용하는 ListBox의 사용자 지정 계산 된 필드

분류에서Dev

libreoffice 기반의 계산 된 필드에서 추가 계산

분류에서Dev

SQL Server-테이블에서 지정된 필드의 내용이 반복되는 횟수 계산

분류에서Dev

2 개의 필드를 선택하고 고유 한 값으로 정렬 된 배열을 반환합니다.

분류에서Dev

룸이라고하는 테이블의 모든 필드 값을 계산합니다. 중첩 된 배열의 데이터를 추출하려고했는데 중첩 된 배열의 내부 배열을 합산 하시겠습니까?

분류에서Dev

PowerPivot의 계산 된 필드

분류에서Dev

React Native : 객체 배열에 사용자 정의 함수를 적용하고 추가 필드가있는 Javascript로 수정 된 배열을 반환하려면 어떻게해야합니까?

분류에서Dev

계산 된 필드에서 0을 반환하지만 0이 아닌 결과 여야하는 MSSSMS SQL 코드

분류에서Dev

조인에서 평가 된 조건을 기반으로 mysql 테이블의 필드에 대한 계산 수행

분류에서Dev

Power BI에서 계산 된 필드와 측정 값을 사용하는 경우

분류에서Dev

미리 결정된 규칙에 따라 열의 값을 계산하고 계산 된 숫자로 새 열을 만드는 방법은 무엇입니까?

분류에서Dev

다른 파일의 값에서 계산 된 값을 저장할 수있는 필드 만들기

분류에서Dev

스칼라 함수가 너무 느림-열의 계산 된 필드

분류에서Dev

여러 열의 발생 횟수를 계산하고 MySQL에서 계산 된 열을 계산하여 결과를 정렬하는 방법은 무엇입니까?

분류에서Dev

SwiftUI의 특정 인덱스에있는 열거 형의 계산 된 배열 속성에서 바인딩을 만드는 방법이 있습니까?

분류에서Dev

Odoo 12 계산 된 필드의 값을 변경할 수 없습니다.

Related 관련 기사

  1. 1

    계산 된 배열을 배열 수식으로 반환하는 방법

  2. 2

    동일한 값 SQL을 반환하는 계산 된 필드

  3. 3

    vue의 계산 된 속성 배열 필드에서 배열을 만드는 방법은 무엇입니까?

  4. 4

    계산 된 필드를 사용하여 피벗의 총합계 수정

  5. 5

    사용자 지정 함수를 사용하여 Hasura에서 계산 된 필드를 만들려고합니다.

  6. 6

    지정된 각 필드를 계산하고 각 필드의 합계를 계산하는 Javascript 루프

  7. 7

    배열의 특정 필드 계산

  8. 8

    다른 필드의 합계 및 개수를 기반으로 계산 된 필드

  9. 9

    계산 된 필드의 수식을 검색 하시겠습니까?

  10. 10

    빈 필드를 찾고 누락 된 필드의 값을 계산하는 방법

  11. 11

    지정된 행의 여러 열에서 값을 계산할 수있는 수식을 만드는 방법

  12. 12

    공유 지점에서 문자열을 date ()로 변환하는 계산 된 필드에 대한 수식

  13. 13

    두 필드로 계산 된 객체 및 배열 정렬

  14. 14

    데이터 바인딩을 사용하는 ListBox의 사용자 지정 계산 된 필드

  15. 15

    libreoffice 기반의 계산 된 필드에서 추가 계산

  16. 16

    SQL Server-테이블에서 지정된 필드의 내용이 반복되는 횟수 계산

  17. 17

    2 개의 필드를 선택하고 고유 한 값으로 정렬 된 배열을 반환합니다.

  18. 18

    룸이라고하는 테이블의 모든 필드 값을 계산합니다. 중첩 된 배열의 데이터를 추출하려고했는데 중첩 된 배열의 내부 배열을 합산 하시겠습니까?

  19. 19

    PowerPivot의 계산 된 필드

  20. 20

    React Native : 객체 배열에 사용자 정의 함수를 적용하고 추가 필드가있는 Javascript로 수정 된 배열을 반환하려면 어떻게해야합니까?

  21. 21

    계산 된 필드에서 0을 반환하지만 0이 아닌 결과 여야하는 MSSSMS SQL 코드

  22. 22

    조인에서 평가 된 조건을 기반으로 mysql 테이블의 필드에 대한 계산 수행

  23. 23

    Power BI에서 계산 된 필드와 측정 값을 사용하는 경우

  24. 24

    미리 결정된 규칙에 따라 열의 값을 계산하고 계산 된 숫자로 새 열을 만드는 방법은 무엇입니까?

  25. 25

    다른 파일의 값에서 계산 된 값을 저장할 수있는 필드 만들기

  26. 26

    스칼라 함수가 너무 느림-열의 계산 된 필드

  27. 27

    여러 열의 발생 횟수를 계산하고 MySQL에서 계산 된 열을 계산하여 결과를 정렬하는 방법은 무엇입니까?

  28. 28

    SwiftUI의 특정 인덱스에있는 열거 형의 계산 된 배열 속성에서 바인딩을 만드는 방법이 있습니까?

  29. 29

    Odoo 12 계산 된 필드의 값을 변경할 수 없습니다.

뜨겁다태그

보관