最新の日付スタンプを使用してJOINからレコードセットを取得するにはどうすればよいですか?

ドリューワイアット

3つのテーブルからいくつかのデータを取得するストアドプロシージャを作成しています。現在、私の出力は次のようになっています。

SQL出力

リグ20は2回リストされています。最新の日付スタンプのあるレコードのみを取得したいと思います。したがって、私のクエリは次のようになります。

SELECT
      robinson_Rigs.rigId
    , robinson_Rigs.rigName
    , robinson_Clients.companyName
    , robinson_Wells.wellName
    , robinson_Wells.county
    , max(robinson_Wells.startDate)
    , robinson_Wells.directions
FROM robinson_Wells
    JOIN robinson_Rigs ON robinson_wells.rigId = robinson_Rigs.rigId
    JOIN robinson_Clients on robinson_Wells.clientId = robinson_Clients.clientId
group by robinson_Rigs.rigId
ORDER BY robinson_Rigs.rigId

しかし、私はこのエラーが発生しています:

Msg 8120, Level 16, State 1, Procedure robinson_GetAllDrivingDirections, Line 14
Column 'robinson_Rigs.rigName' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

どうすればこれを達成できますか?

アンドリュー・ケラー

StartDate以外のすべてをグループ化するだけで、他のフィールドにリグの異なる値が含まれている場合でも、リグの複数の行が返されます。

代わりに、次のようなものを試してください。

SELECT
      robinson_Rigs.rigId
    , robinson_Rigs.rigName
    , robinson_Clients.companyName
    , robinson_Wells.wellName
    , robinson_Wells.county
    , robinson_Wells.startDate
    , robinson_Wells.directions
FROM robinson_Wells
    JOIN robinson_Rigs ON robinson_wells.rigId = robinson_Rigs.rigId
    JOIN
    (
        SELECT rigId
            , MAX(startDate) AS MostRecentDate
        FROM robinson_rigs
        GROUP BY rigId
    ) latestRigDate ON robinson_Rigs.RigId = latestRigDate.RigId
        AND robinson_rigs.StartDate = latestRigDate.MostRecentDate
    JOIN robinson_Clients on robinson_Wells.clientId = robinson_Clients.clientId
ORDER BY robinson_Rigs.rigId

結合されたサブクエリは、すべてのリグIDとその最大(最新)日付のリストを返します。これをrigIdとstartDateによって完全なrobinson_rigsテーブルに結合すると、テーブルが「フィルタリング」され、各リグの最新の日付のレコードのみが返されます。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

スプレッドシートからデータを取得してその値を使用するにはどうすればよいですか?ノード

分類Dev

Googleスプレッドシートの特定のセルからデータを取得して参照するにはどうすればよいですか?

分類Dev

グーグルアプリスクリプトでJavaScriptを使用してグーグルスプレッドシートデータベースから日付値を取得するにはどうすればよいですか?

分類Dev

mongodbのすべてのレコードセットの最新レコードを取得するにはどうすればよいですか?

分類Dev

現在の日付から以前のレコードを取得するにはどうすればよいですか?

分類Dev

特定のAWSPowershellコマンドレット/エイリアスからすべてのデータを取得するにはどうすればよいですか?

分類Dev

コマンドラインインターフェイスを使用して日付と時刻を取得するにはどうすればよいですか?

分類Dev

コマンドラインインターフェイスを使用して日付と時刻を取得するにはどうすればよいですか?

分類Dev

Apps Scriptを使用してGoogleスプレッドシートで日付をフォーマットするにはどうすればよいですか?

分類Dev

hibernateを使用してmysqlから現在の日付データのリストを取得するにはどうすればよいですか?

分類Dev

Pythonスクリプトにあるパラメータとして日付を使用してコマンドプロンプトからPythonスクリプトを実行するにはどうすればよいですか?

分類Dev

NgxIndexedDBを使用してindexedDBインデックスから複数のレコードを取得するにはどうすればよいですか?

分類Dev

Get-WinEventコマンドレットを使用して最新のログを取得するにはどうすればよいですか?

分類Dev

SQL Serverのwhileループでselectステートメントを使用してレコードを取得するにはどうすればよいですか?

分類Dev

terraformデータソースを使用して最新のebsスナップショットを取得するにはどうすればよいですか?

分類Dev

UNIXタイムスタンプをGoogleスプレッドシートの日付値に変換するにはどうすればよいですか?

分類Dev

ChromeでVBASeleniumを使用して<div>から<h2>テキストを取得し、スプレッドシートに日付を挿入するにはどうすればよいですか?

分類Dev

日付付きの名前によるグループ化を使用してレコードを表示するにはどうすればよいですか?

分類Dev

Oracleのlistaggからトップレコードを取得するにはどうすればよいですか?

分類Dev

日付に基づいて最新のレコードを取得するにはどうすればよいですか?

分類Dev

非同期ストレージからデータを取得してコンポーネントで使用するにはどうすればよいですか?

分類Dev

マッピングテンプレートで日付/ requestTime /タイムスタンプを取得するにはどうすればよいですか

分類Dev

カレンダークラスを使用して1か月のすべての日付を取得するにはどうすればよいですか?

分類Dev

コマンドプロンプトからさまざまなパラメータを取得するバックグラウンドプロセスとしてPythonスクリプトを実行するにはどうすればよいですか?

分類Dev

phpとmysqlを使用して特定のレコードの最後に挿入された日付を取得するにはどうすればよいですか?

分類Dev

コンボボックスで選択したレコードからすべての値を取得するにはどうすればよいですか?

分類Dev

Googleスプレッドシートのクエリ関数のselectステートメントを使用してセルからテキストを取得するにはどうすればよいですか?

分類Dev

APIを使用してGoogleスプレッドシートのGoogleFinance履歴データを取得するにはどうすればよいですか?

分類Dev

gcloudコマンドまたは任意のbashスクリプトを使用して、すべてのバージョンから最新のapp-engineバージョンをフィルタリングするにはどうすればよいですか

Related 関連記事

  1. 1

    スプレッドシートからデータを取得してその値を使用するにはどうすればよいですか?ノード

  2. 2

    Googleスプレッドシートの特定のセルからデータを取得して参照するにはどうすればよいですか?

  3. 3

    グーグルアプリスクリプトでJavaScriptを使用してグーグルスプレッドシートデータベースから日付値を取得するにはどうすればよいですか?

  4. 4

    mongodbのすべてのレコードセットの最新レコードを取得するにはどうすればよいですか?

  5. 5

    現在の日付から以前のレコードを取得するにはどうすればよいですか?

  6. 6

    特定のAWSPowershellコマンドレット/エイリアスからすべてのデータを取得するにはどうすればよいですか?

  7. 7

    コマンドラインインターフェイスを使用して日付と時刻を取得するにはどうすればよいですか?

  8. 8

    コマンドラインインターフェイスを使用して日付と時刻を取得するにはどうすればよいですか?

  9. 9

    Apps Scriptを使用してGoogleスプレッドシートで日付をフォーマットするにはどうすればよいですか?

  10. 10

    hibernateを使用してmysqlから現在の日付データのリストを取得するにはどうすればよいですか?

  11. 11

    Pythonスクリプトにあるパラメータとして日付を使用してコマンドプロンプトからPythonスクリプトを実行するにはどうすればよいですか?

  12. 12

    NgxIndexedDBを使用してindexedDBインデックスから複数のレコードを取得するにはどうすればよいですか?

  13. 13

    Get-WinEventコマンドレットを使用して最新のログを取得するにはどうすればよいですか?

  14. 14

    SQL Serverのwhileループでselectステートメントを使用してレコードを取得するにはどうすればよいですか?

  15. 15

    terraformデータソースを使用して最新のebsスナップショットを取得するにはどうすればよいですか?

  16. 16

    UNIXタイムスタンプをGoogleスプレッドシートの日付値に変換するにはどうすればよいですか?

  17. 17

    ChromeでVBASeleniumを使用して<div>から<h2>テキストを取得し、スプレッドシートに日付を挿入するにはどうすればよいですか?

  18. 18

    日付付きの名前によるグループ化を使用してレコードを表示するにはどうすればよいですか?

  19. 19

    Oracleのlistaggからトップレコードを取得するにはどうすればよいですか?

  20. 20

    日付に基づいて最新のレコードを取得するにはどうすればよいですか?

  21. 21

    非同期ストレージからデータを取得してコンポーネントで使用するにはどうすればよいですか?

  22. 22

    マッピングテンプレートで日付/ requestTime /タイムスタンプを取得するにはどうすればよいですか

  23. 23

    カレンダークラスを使用して1か月のすべての日付を取得するにはどうすればよいですか?

  24. 24

    コマンドプロンプトからさまざまなパラメータを取得するバックグラウンドプロセスとしてPythonスクリプトを実行するにはどうすればよいですか?

  25. 25

    phpとmysqlを使用して特定のレコードの最後に挿入された日付を取得するにはどうすればよいですか?

  26. 26

    コンボボックスで選択したレコードからすべての値を取得するにはどうすればよいですか?

  27. 27

    Googleスプレッドシートのクエリ関数のselectステートメントを使用してセルからテキストを取得するにはどうすればよいですか?

  28. 28

    APIを使用してGoogleスプレッドシートのGoogleFinance履歴データを取得するにはどうすればよいですか?

  29. 29

    gcloudコマンドまたは任意のbashスクリプトを使用して、すべてのバージョンから最新のapp-engineバージョンをフィルタリングするにはどうすればよいですか

ホットタグ

アーカイブ