要約のCASEステートメントを含むこのクエリを修正するにはどうすればよいですか?

テオドシウス

私は現在、出版社のリスト、彼らの総収入、総支払い、そして彼らの純利益を要約することを中心に展開している問題を解決しようとしています。これを少し複雑にしているのは、総支払い額がケースステートメントに左右されることです(ロイヤルティのより高い価値から選択する必要があるため)。このcaseステートメントは完全に問題なく、下のSQLFiddleリンクにある前のクエリで実行されました。私の問題は、必要なものに対処するクエリがほぼ完成しているのに、それを完了するためにどのような修正を行うべきかわからないことです。助けていただければ幸いです!そして、あなたがそれを機能させるならば、あなたは合法的な命の恩人になるでしょう!

 Select name,
SUM(book.msrp) AS 'Total Revenue',
SUM(EarningByBook) AS 'Total Payouts',
SUM(book.msrp)-SUM(EarningByBook) AS 'Net Profit'
FROM
(SELECT publisher.name, book.msrp,
(SELECT 
       CASE WHEN preferred_royalties > standard_royalties
                THEN preferred_royalties*copies_sold
                ELSE standard_royalties*copies_sold END 
       AS 'EarningByBook', 
       copies_sold , 
       YEAR(CURDATE())-YEAR(date_published) Years
INNER JOIN book ON publisher.id = book.publisher_id)
FROM author A 
JOIN book B ON A.id=B.author_id 
JOIN publisher P ON B.publisher_id=P.id)
From publisher
INNER JOIN book ON publisher.id = book.publisher_id) Z
GROUP BY 
 name;

SQLフィドルは次のとおりです:https//dbfiddle.uk/?rdbms = mysql_8.0& fiddle = b0015a0a4286f9b2c064bbd65525faa5&hide = 13312

期待される出力は次のようになります

出版社 総収入 総支払い 純利益
名前 20000 1500 18500
名前 15000 1000 14000
完璧

すべての内部選択を単一のSELECTサブクエリにフラット化することを検討してください

SELECT sub.publisher
     , SUM(sub.msrp) AS 'Total Revenue'
     , SUM(sub.EarningByBook) AS 'Total Payouts'
     , SUM(sub.msrp) - SUM(sub.EarningByBook) AS 'Net Profit'
FROM
  (SELECT 
        P.`name` AS publisher
      , CASE 
          WHEN A.preferred_royalties > P.standard_royalties
          THEN A.preferred_royalties * B.copies_sold
          ELSE P.standard_royalties * B.copies_sold 
        END AS EarningByBook
     , YEAR(CURDATE()) - YEAR(B.date_published) AS Years
     , B.msrp
     , B.copies_sold
     
  FROM author A 
  INNER JOIN book B 
     ON A.id = B.author_id 
  INNER JOIN publisher P 
     ON B.publisher_id = P.id
  ) AS sub
  
GROUP BY 
  sub.publisher;

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

このクエリにcaseステートメントのlessthan whereステートメントを含めるにはどうすればよいですか?

分類Dev

このFacebookリクエストに要約を追加するにはどうすればよいですか?

分類Dev

GROUP BYステートメントを含むSQLクエリのカウントを取得するにはどうすればよいですか?

分類Dev

この印刷ステートメントの配置を修正するにはどうすればよいですか?

分類Dev

2つの条件と2番目の条件内にORステートメントを含むCASEを作成するにはどうすればよいですか?

分類Dev

このcaseステートメントを機能させるにはどうすればよいですか?

分類Dev

外部キーにリンクされた2つのモデルを含むdjangoテンプレートでフィルター処理された要約を作成するにはどうすればよいですか?

分類Dev

caseステートメントのPLS-00103エラーを修正するにはどうすればよいですか?

分類Dev

このフラグメントクラスのsetcontentviewエラーと内部クラスエラーを修正するにはどうすればよいですか?

分類Dev

このPythonelifステートメントの構文エラーを修正するにはどうすればよいですか?

分類Dev

このクエリのプリペアドステートメントを作成するにはどうすればよいですか?

分類Dev

プロジェクトの検索機能を作成しています。非常に多くの「if-else」ステートメントを含むクエリを最適化するにはどうすればよいですか?

分類Dev

このlinqクエリを処理し、ifステートメントのintと比較するにはどうすればよいですか?

分類Dev

すべての「MicrosoftExchangeの詳細を表示するには、ここをクリックしてください」アイテムを含む.pstファイルをエクスポートするにはどうすればよいですか?

分類Dev

「NOTMATCHEDBYTARGET」を含むMERGEステートメントをMSSQLからPostgreSQLに修正するにはどうすればよいですか?

分類Dev

このSQLステートメントをLINQクエリに転送するにはどうすればよいですか?

分類Dev

配列を含むifステートメント。配列の整数が0かどうかを確認するにはどうすればよいですか?

分類Dev

複数のテストケースを含むPythonSeleniumテストスクリプトを作成するにはどうすればよいですか?

分類Dev

要約データをRでエクスポートするにはどうすればよいですか?

分類Dev

パンダのapplyステートメントでこのインデックスエラーを回避するにはどうすればよいですか?

分類Dev

IN句とサブクエリを含むクエリで複数のLIKEステートメントを使用するにはどうすればよいですか?

分類Dev

PythonのURLに「à」文字を含むリクエストを行うにはどうすればよいですか?

分類Dev

リストの要素をそれぞれに要約するにはどうすればよいですか?

分類Dev

MySQLステートメントの最後にある\ gはどういう意味ですか?また、実行されていないクエリを修正するにはどうすればよいですか?

分類Dev

Javaで大量の変数を含むifステートメントの使用を回避するにはどうすればよいですか?

分類Dev

クエリステートメントの外部でmysqlクエリから値を取得するにはどうすればよいですか?

分類Dev

「echo」を表示せずに「echo」ステートメントを含む2つのphp関数を比較するにはどうすればよいですか?

分類Dev

if ステートメントに複数の条件を含めるにはどうすればよいですか?

分類Dev

多くのJOINステートメントを含むSQLクエリをより短くより速くするにはどうすればよいですか?

Related 関連記事

  1. 1

    このクエリにcaseステートメントのlessthan whereステートメントを含めるにはどうすればよいですか?

  2. 2

    このFacebookリクエストに要約を追加するにはどうすればよいですか?

  3. 3

    GROUP BYステートメントを含むSQLクエリのカウントを取得するにはどうすればよいですか?

  4. 4

    この印刷ステートメントの配置を修正するにはどうすればよいですか?

  5. 5

    2つの条件と2番目の条件内にORステートメントを含むCASEを作成するにはどうすればよいですか?

  6. 6

    このcaseステートメントを機能させるにはどうすればよいですか?

  7. 7

    外部キーにリンクされた2つのモデルを含むdjangoテンプレートでフィルター処理された要約を作成するにはどうすればよいですか?

  8. 8

    caseステートメントのPLS-00103エラーを修正するにはどうすればよいですか?

  9. 9

    このフラグメントクラスのsetcontentviewエラーと内部クラスエラーを修正するにはどうすればよいですか?

  10. 10

    このPythonelifステートメントの構文エラーを修正するにはどうすればよいですか?

  11. 11

    このクエリのプリペアドステートメントを作成するにはどうすればよいですか?

  12. 12

    プロジェクトの検索機能を作成しています。非常に多くの「if-else」ステートメントを含むクエリを最適化するにはどうすればよいですか?

  13. 13

    このlinqクエリを処理し、ifステートメントのintと比較するにはどうすればよいですか?

  14. 14

    すべての「MicrosoftExchangeの詳細を表示するには、ここをクリックしてください」アイテムを含む.pstファイルをエクスポートするにはどうすればよいですか?

  15. 15

    「NOTMATCHEDBYTARGET」を含むMERGEステートメントをMSSQLからPostgreSQLに修正するにはどうすればよいですか?

  16. 16

    このSQLステートメントをLINQクエリに転送するにはどうすればよいですか?

  17. 17

    配列を含むifステートメント。配列の整数が0かどうかを確認するにはどうすればよいですか?

  18. 18

    複数のテストケースを含むPythonSeleniumテストスクリプトを作成するにはどうすればよいですか?

  19. 19

    要約データをRでエクスポートするにはどうすればよいですか?

  20. 20

    パンダのapplyステートメントでこのインデックスエラーを回避するにはどうすればよいですか?

  21. 21

    IN句とサブクエリを含むクエリで複数のLIKEステートメントを使用するにはどうすればよいですか?

  22. 22

    PythonのURLに「à」文字を含むリクエストを行うにはどうすればよいですか?

  23. 23

    リストの要素をそれぞれに要約するにはどうすればよいですか?

  24. 24

    MySQLステートメントの最後にある\ gはどういう意味ですか?また、実行されていないクエリを修正するにはどうすればよいですか?

  25. 25

    Javaで大量の変数を含むifステートメントの使用を回避するにはどうすればよいですか?

  26. 26

    クエリステートメントの外部でmysqlクエリから値を取得するにはどうすればよいですか?

  27. 27

    「echo」を表示せずに「echo」ステートメントを含む2つのphp関数を比較するにはどうすればよいですか?

  28. 28

    if ステートメントに複数の条件を含めるにはどうすればよいですか?

  29. 29

    多くのJOINステートメントを含むSQLクエリをより短くより速くするにはどうすればよいですか?

ホットタグ

アーカイブ