SQL을 사용하여 마스터 / 세부 정보 테이블의 요약보기를 만드는 방법

랜디

다음과 같이 설정된 두 개의 (단순화 된) 테이블 / 클래스가 있습니다.

public class OrderHeader
{
    public OrderHeader()
    {
        Details = new HashSet<OrderDetail>();
    }

    [Key]
    public int TransactionId { get; set; }
    public string CustomerName { get; set; }
    public virtual ICollection<OrderDetail> Details { get; set; }
}

public class OrderDetail
{
    [Key]
    public int DetailId { get; set; }
    public int ItemId { get; set; }
    public int QuantityOrdered { get; set; }
    public int QuantityShipped { get; set; }
    public int QuantityRemaining { get; set; }
    public int TransactionId { get; set; }

    [ForeignKey("TransactionId")]
    public virtual OrderHeader Header { get; set; }
}

반환 할보기를 만들려고합니다.

  1. 그만큼 TransactionId
  2. 모든 세부 사항의 수를 OrderHeader열로Number of Details
  3. 0이 columnn 인 OrderHeader경우 의 세부 사항 수QuantityRemainingCompleted
  4. 에 의한 세부 사항의 수 OrderHeader라는 이름은 Partially Shipped어디 QuantityShipped제로보다 큰 미만이다QuantityOrdered

나는 OrderHeaderOrderDetails테이블을 모두 쿼리하고 내가 원하는 각 열에 대해 하위 쿼리를 만들려고 시도했지만 동일한 TransactionId. 그리고 내가 DISTINCT선택을 사용할 때 숫자는 내가 올바른 것으로 알고있는 것과 다릅니다.

이것이 매우 안타깝다는 것을 인정하는 동안 두 개의 열만으로 부분적이지만 정확한 결과 집합을 얻을 수 있습니다.

    SELECT
        TransactionId,
        COUNT(*) AS [Number of Details]
    FROM OrderDetails
    GROUP BY TransactionID

그러나 다른 두 개의 열에서는 작동하지 않습니다.

조나단 남

이 같은 ?

SELECT
  TransactionId,
  COUNT(*) AS [Number of Details],
  Sum(CASE WHEN QuantityRemaining = 0 THEN 1 ELSE 0 END) AS [Completed],
  Sum(CASE WHEN QuantityShipped > 0 AND QuantityShipped < QuantityOrdered THEN 1 ELSE 0 END) AS [Partially Shipped]
FROM OrderDetails
GROUP BY TransactionID

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

세부 정보 테이블이 조건을 충족하는 경우에만 마스터 테이블의 행을 가져 오는 방법은 무엇입니까?

분류에서Dev

세부 정보 테이블 항목을 마스터 테이블의 열로 선택하는 방법은 무엇입니까?

분류에서Dev

Javascript를 사용하여 각 테이블 행의 마지막 위치에 세부 정보 버튼을 추가하는 방법은 무엇입니까?

분류에서Dev

내부 조인을 사용하여 Sql Server2008의 테이블 열과 정보 스키마 열을 비교하는 방법은 무엇입니까?

분류에서Dev

레일을 사용하여 데이터베이스의 정보를 html 테이블에 추가하는 방법

분류에서Dev

데이터를 필터링하고 마스터 세부 정보보기에 표시하는 방법

분류에서Dev

xamarin.forms에서 xaml을 사용하여 마스터 세부 정보 페이지에 페이지 제목을 표시하는 방법은 무엇입니까?

분류에서Dev

C #을 사용하여 특정 파일의 세부 정보를 읽는 방법

분류에서Dev

DataGridView에서 마스터 세부 정보를 만드는 방법

분류에서Dev

마스터 세부 정보 KendoUI 그리드의 모든 세부 정보 그리드에서 하나의 행만 선택하는 방법은 무엇입니까?

분류에서Dev

mysql에서 date by date를 사용하여 두 테이블의 세부 정보를 얻는 방법

분류에서Dev

인스턴스를 찾을 수없는 경우 <int : pk>를 사용하여 세부 정보보기에 대한 사용자 지정 404 페이지를 만드는 방법은 무엇입니까?

분류에서Dev

Android의 마스터 / 세부 정보 흐름에서 화면 방향을 감지하는 방법

분류에서Dev

부분보기를 사용하여 기본보기에 정의 된 테이블에 행을 추가하는 방법

분류에서Dev

ISO 마스터에서 부팅 정보 테이블을 패치하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트로 만든 문자열에 데이터 세부 정보를 사용하여 버튼을 추가하는 방법

분류에서Dev

DataGridViewComboBoxColumn을 사용하는 DataGridView 마스터 세부 정보

분류에서Dev

PL SQL 블록을 사용하여 테이블의 데이터를 정렬하는 방법

분류에서Dev

Xamarin 양식 UI 테스트의 마스터 세부 정보 페이지에서 마스터 페이지를 탭하는 방법은 무엇입니까?

분류에서Dev

레일을 사용하여 요청 URL 세부 정보를 얻는 방법

분류에서Dev

기본 키 마스터 세부 정보 테이블 변경 SQL

분류에서Dev

C # SQL, 서버, 데이터 그리드보기 : 마스터 테이블을 처리하는 방법?

분류에서Dev

세 개의 테이블을 사용하여 MySQL의에서 SQL 문을 사용하여 매트릭스 스타일 데이터를 얻는 방법

분류에서Dev

Linq를 사용하여 마스터 세부 정보 관계에 대한 세부 레코드를 필터링하는 방법

분류에서Dev

INNER JOIN을 사용하여 다른 테이블 세부 정보보기 SQL

분류에서Dev

Python을 사용하여 Windows에서 파일의 세부 정보를 설정하는 방법이 있습니까?

분류에서Dev

vb.net을 사용하여 ms 액세스의 두 매개 변수를 기반으로 테이블의 특정 레코드를 요약하는 방법은 무엇입니까?

분류에서Dev

pytest-html을 사용하여 세부 사항에 html 테이블을 추가하는 것과 같은 어설 션 오류로 세부 정보를 사용자 정의하는 방법은 무엇입니까?

분류에서Dev

Android에서 Nav 컨트롤러를 사용하여 세부 정보에서 마스터 화면으로 다시 이동하는 방법

Related 관련 기사

  1. 1

    세부 정보 테이블이 조건을 충족하는 경우에만 마스터 테이블의 행을 가져 오는 방법은 무엇입니까?

  2. 2

    세부 정보 테이블 항목을 마스터 테이블의 열로 선택하는 방법은 무엇입니까?

  3. 3

    Javascript를 사용하여 각 테이블 행의 마지막 위치에 세부 정보 버튼을 추가하는 방법은 무엇입니까?

  4. 4

    내부 조인을 사용하여 Sql Server2008의 테이블 열과 정보 스키마 열을 비교하는 방법은 무엇입니까?

  5. 5

    레일을 사용하여 데이터베이스의 정보를 html 테이블에 추가하는 방법

  6. 6

    데이터를 필터링하고 마스터 세부 정보보기에 표시하는 방법

  7. 7

    xamarin.forms에서 xaml을 사용하여 마스터 세부 정보 페이지에 페이지 제목을 표시하는 방법은 무엇입니까?

  8. 8

    C #을 사용하여 특정 파일의 세부 정보를 읽는 방법

  9. 9

    DataGridView에서 마스터 세부 정보를 만드는 방법

  10. 10

    마스터 세부 정보 KendoUI 그리드의 모든 세부 정보 그리드에서 하나의 행만 선택하는 방법은 무엇입니까?

  11. 11

    mysql에서 date by date를 사용하여 두 테이블의 세부 정보를 얻는 방법

  12. 12

    인스턴스를 찾을 수없는 경우 <int : pk>를 사용하여 세부 정보보기에 대한 사용자 지정 404 페이지를 만드는 방법은 무엇입니까?

  13. 13

    Android의 마스터 / 세부 정보 흐름에서 화면 방향을 감지하는 방법

  14. 14

    부분보기를 사용하여 기본보기에 정의 된 테이블에 행을 추가하는 방법

  15. 15

    ISO 마스터에서 부팅 정보 테이블을 패치하는 방법은 무엇입니까?

  16. 16

    자바 스크립트로 만든 문자열에 데이터 세부 정보를 사용하여 버튼을 추가하는 방법

  17. 17

    DataGridViewComboBoxColumn을 사용하는 DataGridView 마스터 세부 정보

  18. 18

    PL SQL 블록을 사용하여 테이블의 데이터를 정렬하는 방법

  19. 19

    Xamarin 양식 UI 테스트의 마스터 세부 정보 페이지에서 마스터 페이지를 탭하는 방법은 무엇입니까?

  20. 20

    레일을 사용하여 요청 URL 세부 정보를 얻는 방법

  21. 21

    기본 키 마스터 세부 정보 테이블 변경 SQL

  22. 22

    C # SQL, 서버, 데이터 그리드보기 : 마스터 테이블을 처리하는 방법?

  23. 23

    세 개의 테이블을 사용하여 MySQL의에서 SQL 문을 사용하여 매트릭스 스타일 데이터를 얻는 방법

  24. 24

    Linq를 사용하여 마스터 세부 정보 관계에 대한 세부 레코드를 필터링하는 방법

  25. 25

    INNER JOIN을 사용하여 다른 테이블 세부 정보보기 SQL

  26. 26

    Python을 사용하여 Windows에서 파일의 세부 정보를 설정하는 방법이 있습니까?

  27. 27

    vb.net을 사용하여 ms 액세스의 두 매개 변수를 기반으로 테이블의 특정 레코드를 요약하는 방법은 무엇입니까?

  28. 28

    pytest-html을 사용하여 세부 사항에 html 테이블을 추가하는 것과 같은 어설 션 오류로 세부 정보를 사용자 정의하는 방법은 무엇입니까?

  29. 29

    Android에서 Nav 컨트롤러를 사용하여 세부 정보에서 마스터 화면으로 다시 이동하는 방법

뜨겁다태그

보관