MSACCESSのグループ内の最小値で行を更新します

ユーザー-DY

Selectについて次のステートメントがあります。[フラグ]の値はデフォルトで「いいえ」になっています

select t.[Id], t.[Name], t.[NRIC], t.[Flag], t.[Hierarchy], t.[LoadDt] 
from [EmployeeMaster] t
inner join (
select ID, LoadDt, Min(Hierarchy) As MinHierarchy
from [EmployeeMaster]
group by ID, LoadDt
) s on t.[ID] = s.[ID] and t.[Hierarchy] = s.[MinHierarchy]

この後、上記のselectステートメントのすべての結果を次のように更新する必要があります

update [EmployeeMaster] set [EmployeeMaster].[Flag] = 'Yes'

これをMSACCSS VBAスクリプトで1つのクエリに組み合わせるにはどうすればよいですか?

基本的に私が達成したかったのは、次のEmployeeMasterテーブルの例を示したものです。

ID | Name | NRIC | Flag | Hierarchy | LoadDt 
001| ABCD | ZZZZ |  NO  |     6     | 31/1/2017 
001| ABCD | ZZZZ |  NO  |     5     | 31/1/2017 
001| ABCD | ZZZZ |  NO  |     1     | 31/1/2017 
002| WXYZ | YYYY |  NO  |     9     | 31/1/2017 
002| WXYZ | YYYY |  NO  |     8     | 31/1/2017 

次の出力を達成できるようにしたいと思います。

ID | Name | NRIC | Flag | Hierarchy | LoadDt
001| ABCD | ZZZZ |  NO  |     6     | 31/1/2017 
001| ABCD | ZZZZ |  NO  |     5     | 31/1/2017
001| ABCD | ZZZZ |  Yes |     1     | 31/1/2017
002| WXYZ | YYYY |  NO  |     9     | 31/1/2017
002| WXYZ | YYYY |  Yes |     8     | 31/1/2017
グルウィンダル・シン

アクセスでは、以下のエラーが発生するため、updateステートメントで集計を使用することはできません。

操作は更新可能なクエリを使用する必要があります。

代わりに、単純な自己結合を使用して、各IDの最小階層を持つ行を見つけてから更新を実行します。

これを試して:

UPDATE [EmployeeMaster] t
left join [EmployeeMaster] s
on t.[ID] = s.[ID] and t.[Hierarchy] > s.[Hierarchy]
SET t.[Flag] = 'Yes'
where s.[ID] is null

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

sqlite:グループ内のすべての行を最初の行の値で更新します

分類Dev

グループの最小値に基づいてテーブルのすべての行を更新します

分類Dev

列の値に基づいて行をグループ化し、Rの最小値で行を保持します

分類Dev

IDでグループ化し、すべての行を取得すると、列の最小値に対応します

分類Dev

IDでグループ化し、すべての行を取得すると、列の最小値に対応します

分類Dev

値が最小の行のIDを取得し、他の列でグループ化します

分類Dev

配列内のmysql行を列値でグループ化します

分類Dev

文字列のグループで最大値と最小値を取得します

分類Dev

グループ内の最小値を特定し、その行のパンダの別の列に等しい列を設定します

分類Dev

パンダはグループごとの最小列値で行を取得します

分類Dev

タグでループ内の値を選択します

分類Dev

Rのddplyでデータフレーム内の列のサブグループの最大値と最小値を取得します

分類Dev

テーブル内の複数の行を異なる値で更新します

分類Dev

グループから最小のn値を選択します

分類Dev

各グループ内の最大値と最小値を見つけます

分類Dev

dplyr:グループ内のすべての値をグループの最初の値で除算します

分類Dev

パンダ:グループ化されたDataFrame-各グループの列の値をその列内の特定の行の値で除算します

分類Dev

SQLテーブルの行で最小値を検索します

分類Dev

group_byを使用できない場合は、列を変更して、グループ内の非NA値の最小値を取得します

分類Dev

グループ内の行を特定の値postgresqlと比較します

分類Dev

パンダ:繰り返される列の値で行をグループ化し、グループ内の各列の最大絶対値を保持します

分類Dev

グループ内のすべての値がNULLである行を選択します

分類Dev

特定の列postgresで最大値を持つグループ内の行を選択します

分類Dev

サブグループの最小値でデータフレームの値を設定します

分類Dev

2つの値の最小値でグループから単一の結果を選択します

分類Dev

一致する属性も持つdictの配列内で最小値を検索し、最大のグループ化を返します

分類Dev

mysqlの最大値と最小値でフィールドを更新します

分類Dev

列値がNullであるテーブル内のすべての行の列値を更新しますか?

分類Dev

グループ内の単一行の値に基づいてグループを選択しますか?

Related 関連記事

  1. 1

    sqlite:グループ内のすべての行を最初の行の値で更新します

  2. 2

    グループの最小値に基づいてテーブルのすべての行を更新します

  3. 3

    列の値に基づいて行をグループ化し、Rの最小値で行を保持します

  4. 4

    IDでグループ化し、すべての行を取得すると、列の最小値に対応します

  5. 5

    IDでグループ化し、すべての行を取得すると、列の最小値に対応します

  6. 6

    値が最小の行のIDを取得し、他の列でグループ化します

  7. 7

    配列内のmysql行を列値でグループ化します

  8. 8

    文字列のグループで最大値と最小値を取得します

  9. 9

    グループ内の最小値を特定し、その行のパンダの別の列に等しい列を設定します

  10. 10

    パンダはグループごとの最小列値で行を取得します

  11. 11

    タグでループ内の値を選択します

  12. 12

    Rのddplyでデータフレーム内の列のサブグループの最大値と最小値を取得します

  13. 13

    テーブル内の複数の行を異なる値で更新します

  14. 14

    グループから最小のn値を選択します

  15. 15

    各グループ内の最大値と最小値を見つけます

  16. 16

    dplyr:グループ内のすべての値をグループの最初の値で除算します

  17. 17

    パンダ:グループ化されたDataFrame-各グループの列の値をその列内の特定の行の値で除算します

  18. 18

    SQLテーブルの行で最小値を検索します

  19. 19

    group_byを使用できない場合は、列を変更して、グループ内の非NA値の最小値を取得します

  20. 20

    グループ内の行を特定の値postgresqlと比較します

  21. 21

    パンダ:繰り返される列の値で行をグループ化し、グループ内の各列の最大絶対値を保持します

  22. 22

    グループ内のすべての値がNULLである行を選択します

  23. 23

    特定の列postgresで最大値を持つグループ内の行を選択します

  24. 24

    サブグループの最小値でデータフレームの値を設定します

  25. 25

    2つの値の最小値でグループから単一の結果を選択します

  26. 26

    一致する属性も持つdictの配列内で最小値を検索し、最大のグループ化を返します

  27. 27

    mysqlの最大値と最小値でフィールドを更新します

  28. 28

    列値がNullであるテーブル内のすべての行の列値を更新しますか?

  29. 29

    グループ内の単一行の値に基づいてグループを選択しますか?

ホットタグ

アーカイブ