SQLで期待される結果が得られないJOIN

user1777929

テーブルFとテーブルDの2つのテーブルがあります。

表Fは、アカウントの金融取引(支払い、通行料、利息)の詳細を示しています。表Dは、延滞状況を示しています(ユーザーが支払いをしていない場合)。さまざまなステータスコードが表示されます。0、1、2、11(異なる意味)。

私のテーブル構造は次のとおりです。

Table F
============
------------------------------------------- 
|AccountId|TypeCode |BusinessDate|TransAmt|
------------------------------------------- 
|12345    | PYMT    |2016-06-22  |   10.54|
------------------------------------------- 
|12345    | TOLL    |2016-06-15  |   04.00|
------------------------------------------- 
|12345    | INTR    |2016-05-26  |   01.66|
------------------------------------------- 
|12345    | TOLL    |2016-04-10  |   04.00|
------------------------------------------- 

Table D
==========
-----------------------------------------------
|AccountId|FromID|ToID|CreatedDate            |
----------------------------------------------- 
|12345    |     0|   2|2016-12-25 00:12:44.453|
----------------------------------------------- 
|12345    |     2|   1|2017-04-02 07:16:46.770|
----------------------------------------------- 
|12345    |     1|  11|2017-07-12 16:16:36.747|
-----------------------------------------------

アカウントがステータスコード11(ToID)になった後、アカウントで行われたすべての支払いの合計を見つけるためにコードを実行しようとしています

私のコード:

SELECT F.AccounttID
      ,ISNULL(SUM(TransAmt), 0) Payments

FROM F INNER JOIN D ON F.AccounttID = D.AccountId

WHERE AccountId = 12345   
  AND TypeCode = 'PYMT'   
  AND F.BusinessDate >= D.CreatedDate  
  AND ToID = 11 
--AND F.BusinessDate >= (SELECT CreatedDate FROM D WHERE F.AccounttID = D.AccountId AND ToID = 11)    

GROUP BY F.AccountID, F.TypeCode

私が得ている結果は次のとおりです。

--------------------
|AccountID|Payments|
--------------------
|         |        |
--------------------

私が望む結果は次のとおりです。

--------------------
|AccountID|Payments|
--------------------
|   12345|     0.00|
--------------------
スクワット

問題は、where基準に一致する結果がないことですあなたは実際に使用しようとしていると思いますconditional aggregationouter join一致するものがない場合に備えてinも使用しました。

SELECT F.AccounttID
      ,SUM(CASE WHEN F.BusinessDate >= D.CreatedDate THEN F.TransAmt ELSE 0 END) Payments
FROM F 
    LEFT JOIN D ON F.AccounttID = D.AccountId AND D.ToId = 11
WHERE F.AccountId = 12345   
    AND F.TypeCode = 'PYMT'   
GROUP BY F.AccountID

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PowerShell検索で期待される結果が得られない

分類Dev

期待される結果が得られない外部結合

分類Dev

NumberFormat:setMaximumFractionDigits-期待される結果が得られない

分類Dev

Sum(30/365)期待される結果が得られない

分類Dev

Mongoクエリ期待される結果が得られない

分類Dev

strpos-期待される結果が得られない

分類Dev

期待される結果が得られないos.system

分類Dev

結合で期待される結果が得られないSQLエイリアス

分類Dev

$ andとsub $で、mongoとmongooseで期待される結果が得られない

分類Dev

PHPで期待される結果が得られないクエリ

分類Dev

groupbyが適用され、期待される結果が得られない

分類Dev

JPA / EclipseLink:結合されたWHEREクエリで期待される結果が得られない

分類Dev

常に期待される結果が得られるとは限らない

分類Dev

react-testing-libraryの.toHaveBeenCalledTimes()から期待される結果が得られない

分類Dev

forループから期待される結果が得られない

分類Dev

.each()関数の使用中に期待される結果が得られない

分類Dev

文字列から数値への変換で、JavaScriptで期待される結果が得られない

分類Dev

Angular2アプリの* ngIfで否定的なケースで期待される結果が得られない

分類Dev

SQLクエリ-ALLおよび '='演算子を使用して期待される結果が得られない

分類Dev

SQLクエリ-ALLおよび '='演算子を使用して期待される結果が得られない

分類Dev

Pythonで.csvファイルに書き込んでも期待される結果が得られない

分類Dev

期待される結果が得られないRSA公開鍵でデータを暗号化する

分類Dev

MySQLで期待される結果が得られないことにより、グループ

分類Dev

Angular4出力テストで期待される結果が得られない

分類Dev

Djangoテンプレートのレンダリングで期待される結果が得られない

分類Dev

MySQLのシステム日付の変更で期待される結果が得られない

分類Dev

Javaの製品で、期待した結果が得られない

分類Dev

JavaでreadLine()を使用して期待する結果が得られない

分類Dev

グローバル変数を設定しているが、期待される結果が得られない

Related 関連記事

  1. 1

    PowerShell検索で期待される結果が得られない

  2. 2

    期待される結果が得られない外部結合

  3. 3

    NumberFormat:setMaximumFractionDigits-期待される結果が得られない

  4. 4

    Sum(30/365)期待される結果が得られない

  5. 5

    Mongoクエリ期待される結果が得られない

  6. 6

    strpos-期待される結果が得られない

  7. 7

    期待される結果が得られないos.system

  8. 8

    結合で期待される結果が得られないSQLエイリアス

  9. 9

    $ andとsub $で、mongoとmongooseで期待される結果が得られない

  10. 10

    PHPで期待される結果が得られないクエリ

  11. 11

    groupbyが適用され、期待される結果が得られない

  12. 12

    JPA / EclipseLink:結合されたWHEREクエリで期待される結果が得られない

  13. 13

    常に期待される結果が得られるとは限らない

  14. 14

    react-testing-libraryの.toHaveBeenCalledTimes()から期待される結果が得られない

  15. 15

    forループから期待される結果が得られない

  16. 16

    .each()関数の使用中に期待される結果が得られない

  17. 17

    文字列から数値への変換で、JavaScriptで期待される結果が得られない

  18. 18

    Angular2アプリの* ngIfで否定的なケースで期待される結果が得られない

  19. 19

    SQLクエリ-ALLおよび '='演算子を使用して期待される結果が得られない

  20. 20

    SQLクエリ-ALLおよび '='演算子を使用して期待される結果が得られない

  21. 21

    Pythonで.csvファイルに書き込んでも期待される結果が得られない

  22. 22

    期待される結果が得られないRSA公開鍵でデータを暗号化する

  23. 23

    MySQLで期待される結果が得られないことにより、グループ

  24. 24

    Angular4出力テストで期待される結果が得られない

  25. 25

    Djangoテンプレートのレンダリングで期待される結果が得られない

  26. 26

    MySQLのシステム日付の変更で期待される結果が得られない

  27. 27

    Javaの製品で、期待した結果が得られない

  28. 28

    JavaでreadLine()を使用して期待する結果が得られない

  29. 29

    グローバル変数を設定しているが、期待される結果が得られない

ホットタグ

アーカイブ