두 테이블을 자신에게 조인하고 두 테이블을 기반으로 값을 계산하십시오.

제이 C

SQL Server 2012 사용

조인 된 두 개의 테이블이 있습니다.

[APXFirm].[AdvApp].[vMarketIndexRate]

[APXFirm].[AdvApp].[vMarketIndex]

이 두 가지를 결합하면 IndexName, AsofDate 및 Rate를 얻을 수 있습니다.

그러나 두 인덱스의 가중 합계를 계산하고 싶습니다. S & P500 가중치는 .4, DJ Average 가중치는 .6입니다. 아래 쿼리를 시도하고 결과를 얻었지만 혼합 비율이 아닙니다. 첫 번째 인덱스 비율입니다.

예를 들어 주어진 날짜에 SP = 100이고 DJ = 200 인 경우 혼합 비율은 40 + 120 = 160이어야합니다.

여기 내 질문입니다

USE APXFIRM
SELECT 'Blend' AS 'IndexName', ir1.AsOfDate,

  SUM(ir1.rate*.4+ir2.rate*.6) AS 'blendrate'
  FROM [APXFirm].[AdvApp].[vMarketIndexRate] IR1
   INNER JOIN [APXFirm].[AdvApp].[vMarketIndex] MI1
    ON IR1.indexid = mi1.indexid 
    INNER JOIN [APXFirm].[AdvApp].[vMarketIndexRate] IR2
    ON ir2.indexid = ir1.indexid AND ir2.asofdate = ir1.asofdate
    INNER JOIN [APXFirm].[AdvApp].[vMarketIndex] MI2
    ON ir2.indexid = ir1.indexid AND ir2.asofdate = ir1.asofdate
  WHERE mi1.indexname = 'sp'
  AND  mi2.indexname = 'djind'
  GROUP BY MI1.IndexName ,
           IR1.AsOfDate ,
           IR1.Rate ,
           MI2.IndexName ,
           IR2.AsOfDate ,
           IR2.Rate

다음은 모든 데이터의 샘플입니다. 가중치는 실제 열이 아닙니다. 설명 목적으로 포함했습니다.

IndexName   AsOfDate    rate    weight  IndexName   AsOfDate    rate    weight  BlendRate
SP500   12/31/2012      100        0.6  DowJones    12/31/2012  90      0.4     96
SP500   1/31/2013       110        0.6  DowJones    1/31/2013   95      0.4     104
SP500   2/28/2013       120        0.6  DowJones    2/28/2013   100     0.4     112
SP500   3/31/2013       130        0.6  DowJones    3/31/2013   110     0.4     122

다음은 원하는 출력입니다.

IndexName   AsOfDate    BlendRate
Blend   12/31/2012      96
Blend   1/31/2013       104
Blend   2/28/2013       112
Blend   3/31/2013       122
새긴 ​​금

문제를 올바르게 이해했다면 문제는 "from"블록에 있습니다. 다음을 사용해보십시오.

SELECT 'Blend' AS 'IndexName'
      ,ir1.AsOfDate
      ,SUM(ir1.rate*.4+ir2.rate*.6) AS 'blendrate'

FROM [APXFirm].[AdvApp].[vMarketIndexRate] IR1
     INNER JOIN [APXFirm].[AdvApp].[vMarketIndex] MI1
             ON IR1.indexid = mi1.indexid 
     INNER JOIN [APXFirm].[AdvApp].[vMarketIndexRate] IR2
             ON ir2.asofdate = ir1.asofdate
     INNER JOIN [APXFirm].[AdvApp].[vMarketIndex] MI2
             ON ir2.indexid = mi2.indexid

WHERE mi1.indexname = 'sp'
  AND mi2.indexname = 'djind'

GROUP BY MI1.IndexName
        ,IR1.AsOfDate
        ,IR1.Rate
        ,MI2.IndexName
        ,IR2.AsOfDate
        ,IR2.Rate

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

두 테이블의 값을 계산하고 세 번째 테이블 mysql에 저장하십시오.

분류에서Dev

두 테이블을 조인하고 ApprovedByLevel을 기반으로 최신 데이터를 가져 오는 SQL 쿼리

분류에서Dev

왼쪽 외부 조인을 사용하여 두 테이블을 조인하고 오른쪽 테이블 열을 기반으로 새 열 값 채우기

분류에서Dev

테이블을 확인하고 동일한 테이블에서 일치하는 두 열의 값을 기반으로 tr 내용을 굵게 만듭니다.

분류에서Dev

두 테이블을 조인하고 결과를 얻으십시오.

분류에서Dev

두 테이블을 기반으로하는 Hive의 조건

분류에서Dev

두 번째 테이블 값을 반복하지 않고 두 테이블 결합

분류에서Dev

중복 값이 자체 열을 가져 오는 하나의 열을 기반으로 두 테이블 결합

분류에서Dev

두 테이블을 조인하고 두 번째 테이블의 null을 0으로 바꾸는 방법

분류에서Dev

LIKE 조건으로 두 개의 mysql 테이블을 조인하십시오.

분류에서Dev

SQL-두 테이블을 기반으로하는 식을 사용하여 테이블 열 값 업데이트

분류에서Dev

두 테이블을 조인하고 where 절로 필터링

분류에서Dev

두 테이블을 조인하는 경우 두 번째 테이블에서 ID 가져 오기

분류에서Dev

두 값을 기반으로 테이블 tr을 검색하는 방법

분류에서Dev

두 테이블을 비교하고 테이블에서 값을 얻고 곱하기-PHP MySQL

분류에서Dev

MySQL \ 두 테이블을 조인하고 한 열에 두 행의 결과 표시

분류에서Dev

mysql에서 다른 두 테이블의 행을 테이블에 별도로 삽입하십시오.

분류에서Dev

SQL은 두 테이블에서 조인하고 빈 탭을 사용할 수 없음으로 반환합니다.

분류에서Dev

SQL 두 테이블을 조인하고 두 번째 테이블의 최신 항목 만 가져옵니다.

분류에서Dev

열 조합을 기반으로 두 테이블의 값 추가

분류에서Dev

두 테이블에서 구별을 선택하십시오. MySQL

분류에서Dev

내부 조인 IF-THEN-ELSE 문을 기반으로 두 번째 테이블에서 하나의 행만 선택

분류에서Dev

두 개의 부모-자식 테이블 (예 : 4 개의 테이블)을 왼쪽으로 조인하는 방법

분류에서Dev

MYSQL : 두 테이블을 쿼리하고 두 번째 테이블의 결과를 배열에 조인

분류에서Dev

두 테이블을 하나로?

분류에서Dev

두 테이블을 하나로 병합

분류에서Dev

두 테이블을 하나로 병합

분류에서Dev

두 테이블을 조인하고 Northwind 스키마의 국가를 기반으로 레코드 수 표시

분류에서Dev

나는 두 번째 테이블의 키를 기반으로 같은 테이블에 결합 된 행을 반환하는 것을 시도하고있다

Related 관련 기사

  1. 1

    두 테이블의 값을 계산하고 세 번째 테이블 mysql에 저장하십시오.

  2. 2

    두 테이블을 조인하고 ApprovedByLevel을 기반으로 최신 데이터를 가져 오는 SQL 쿼리

  3. 3

    왼쪽 외부 조인을 사용하여 두 테이블을 조인하고 오른쪽 테이블 열을 기반으로 새 열 값 채우기

  4. 4

    테이블을 확인하고 동일한 테이블에서 일치하는 두 열의 값을 기반으로 tr 내용을 굵게 만듭니다.

  5. 5

    두 테이블을 조인하고 결과를 얻으십시오.

  6. 6

    두 테이블을 기반으로하는 Hive의 조건

  7. 7

    두 번째 테이블 값을 반복하지 않고 두 테이블 결합

  8. 8

    중복 값이 자체 열을 가져 오는 하나의 열을 기반으로 두 테이블 결합

  9. 9

    두 테이블을 조인하고 두 번째 테이블의 null을 0으로 바꾸는 방법

  10. 10

    LIKE 조건으로 두 개의 mysql 테이블을 조인하십시오.

  11. 11

    SQL-두 테이블을 기반으로하는 식을 사용하여 테이블 열 값 업데이트

  12. 12

    두 테이블을 조인하고 where 절로 필터링

  13. 13

    두 테이블을 조인하는 경우 두 번째 테이블에서 ID 가져 오기

  14. 14

    두 값을 기반으로 테이블 tr을 검색하는 방법

  15. 15

    두 테이블을 비교하고 테이블에서 값을 얻고 곱하기-PHP MySQL

  16. 16

    MySQL \ 두 테이블을 조인하고 한 열에 두 행의 결과 표시

  17. 17

    mysql에서 다른 두 테이블의 행을 테이블에 별도로 삽입하십시오.

  18. 18

    SQL은 두 테이블에서 조인하고 빈 탭을 사용할 수 없음으로 반환합니다.

  19. 19

    SQL 두 테이블을 조인하고 두 번째 테이블의 최신 항목 만 가져옵니다.

  20. 20

    열 조합을 기반으로 두 테이블의 값 추가

  21. 21

    두 테이블에서 구별을 선택하십시오. MySQL

  22. 22

    내부 조인 IF-THEN-ELSE 문을 기반으로 두 번째 테이블에서 하나의 행만 선택

  23. 23

    두 개의 부모-자식 테이블 (예 : 4 개의 테이블)을 왼쪽으로 조인하는 방법

  24. 24

    MYSQL : 두 테이블을 쿼리하고 두 번째 테이블의 결과를 배열에 조인

  25. 25

    두 테이블을 하나로?

  26. 26

    두 테이블을 하나로 병합

  27. 27

    두 테이블을 하나로 병합

  28. 28

    두 테이블을 조인하고 Northwind 스키마의 국가를 기반으로 레코드 수 표시

  29. 29

    나는 두 번째 테이블의 키를 기반으로 같은 테이블에 결합 된 행을 반환하는 것을 시도하고있다

뜨겁다태그

보관