グループ化された行のリストを更新します。

安全でない農場

「一時停止」テーブルとテーブルがありMesPiecesます。ピースが一時停止されると、Stop In時間のタイムスタンプが付いた行が挿入され、このピースが一時停止されると、Stop Out時間のタイムスタンプが挿入されます。

MesPiecesテーブルの時刻を更新するときは、MesPiecesIDごとに時間差を追加する必要があります。

UPDATE Pause SET stopOut = CURRENT_TIMESTAMP FROM MesPieces
WHERE MesPieces.idMesPieces = Pause.idMesPieces
AND MesPieces.pauseAutomatique = 1
AND stopOut is NULL

UPDATE MesPieces set Statut = 'En cours', 
pauseAutomatique = 0,
tempsPause = DATEDIFF(MINUTE,stopIn,stopOut)
FROM Pause WHERE
Statut = 'Pause'
AND pauseAutomatique = 1
AND Pause.idMesPieces = MesPieces.idMesPieces

これが一時停止テーブルの例です

+----+-------------+-------------------------+-------------------------+
| id | idMesPieces |         stopIn          |         stopOut         |
+----+-------------+-------------------------+-------------------------+
| 12 |         123 | 2014-10-07 10:53:09.270 | 2014-10-07 11:23:10.140 |
| 13 |         123 | 2014-10-07 11:18:42.797 | 2014-10-07 11:23:10.140 |
| 14 |         124 | 2014-10-07 11:18:42.797 | 2014-10-07 11:23:10.140 |
| 15 |         125 | 2014-10-07 11:18:42.797 | 2014-10-07 11:23:10.140 |
| 16 |         126 | 2014-10-07 11:18:42.797 | 2014-10-07 11:23:10.140 |
| 17 |         123 | 2014-10-07 11:21:01.910 | 2014-10-07 11:23:10.140 |
| 18 |         124 | 2014-10-07 11:21:01.910 | 2014-10-07 11:23:10.140 |
| 19 |         125 | 2014-10-07 11:21:01.910 | 2014-10-07 11:23:10.140 |
| 20 |         126 | 2014-10-07 11:21:01.910 | 2014-10-07 11:23:10.140 |
| 21 |         123 | 2014-10-07 11:27:22.837 | 2014-10-07 11:27:38.623 |
| 22 |         124 | 2014-10-07 11:27:22.837 | 2014-10-07 11:27:38.623 |
| 23 |         125 | 2014-10-07 11:27:22.837 | 2014-10-07 11:27:38.623 |
| 24 |         126 | 2014-10-07 11:27:22.837 | 2014-10-07 11:27:38.623 |
+----+-------------+-------------------------+-------------------------+

そしてここにMesPiecesテーブルがあります

+-------------+-------+----------+-----------+--------------+--------------+-------+----------+--------+-------------------------+------------+------------------+
| idMesPieces | Poste |  Statut  | Quantitee | TempsUtilise | TempsRestant | idMo  | TempsStd | idUser |       timeOuvert        | tempsPause | pauseAutomatique |
+-------------+-------+----------+-----------+--------------+--------------+-------+----------+--------+-------------------------+------------+------------------+
|         122 | NULL  | Fin      | NULL      |          164 |         -154 | 10111 |       10 |      1 | 2014-10-07 08:31:58.103 |          0 |                0 |
|         123 | NULL  | En cours | NULL      |           34 |          -79 | 10106 |       15 |      1 | 2014-10-07 10:19:06.857 |         30 |                0 |
|         124 | NULL  | En cours | NULL      |            6 |            5 | 10105 |       15 |      1 | 2014-10-07 11:15:25.930 |          0 |                0 |
|         125 | NULL  | En cours | NULL      |            3 |            2 | 10109 |       15 |      1 | 2014-10-07 11:15:26.200 |          5 |                0 |
|         126 | NULL  | En cours | NULL      |            6 |            5 | 10108 |       15 |      1 | 2014-10-07 11:15:26.840 |          0 |                0 |
+-------------+-------+----------+-----------+--------------+--------------+-------+----------+--------+-------------------------+------------+------------------+

私が理解していることから、問題は、私の更新で、追加するときにDATEDIFF(MINUTE,stopIn,stopOut)最初の一致のみを追加することです...それらすべてを追加する方法がわかりません。

mxix

これが役立つかどうかはわかりませんが、groupbyを使用してクエリに参加できます。

UPDATE MesPieces 
set 
    Statut = 'En cours', 
    pauseAutomatique = 0,
    tempsPause = Pause.duration
FROM MesPieces 
INNER JOIN (
    select 
        Pause.idMesPieces,
        SUM(DATEDIFF(MINUTE,stopIn,stopOut)) duration
    from Pause, MesPieces
    WHERE
        Statut = 'Pause' AND 
        pauseAutomatique = 1 AND
        Pause.idMesPieces = MesPieces.idMesPieces
    group by
        idMesPieces
) Pause on 
    Pause.idMesPieces = MesPieces.idMesPieces

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

AngularJsは、ネストされたグループ化された行のレコードを削除します

分類Dev

Pythonのリストのリストからグループ化された棒グラフを作成します

分類Dev

リストのリスト内の要素をネストされた辞書にグループ化します

分類Dev

別の列でグループ化された要素からリストのリストを返します

分類Dev

新しく挿入されたグループ化行のIDでグループ化された行を更新します

分類Dev

日付とタグでグループ化された行のリスト要素の頻度をカウントします

分類Dev

グループ化された行をループし、グループPythonの最初の行を比較します

分類Dev

グループ化されたデータフレームのリストを解除します

分類Dev

ネストされたtibblesのグループ化変数を追加します

分類Dev

Immutable.jsでGroupByを実行し、グループ化されたリストの最初の値を返します

分類Dev

グループ化された観測量の排出量を1つのリストに収集します

分類Dev

データセット値を特定の行値でグループ化されたリストに変換します

分類Dev

日付でグループ化されたリストのQuerySetを返します

分類Dev

グループ化されたリストのリストをグループ化する方法は?

分類Dev

dictのリストを受け入れ、複数のキーでグループ化されたリストのdictを返します

分類Dev

親IDでグループ化されたネストされたリストを作成しました

分類Dev

グループ化されたリストからタプルキーのみをフィルタリングします

分類Dev

DjangoはForeignKeysをクエリして、「グループ化された」リストを返します

分類Dev

activerecordのグループ化された行の合計を選択します

分類Dev

他のIDでグループ化されたIDの行のリストを取得する

分類Dev

それらの1つでグループ化された行のサブセットを取得します

分類Dev

SSRS:リストの異なるセルにグループ化された行を表示する方法

分類Dev

SelectInput(RShiny)の選択肢のグループ化されたリストからグループラベルを取得します

分類Dev

SetupFixtureは、Resharperでのグループ化されたテストの実行を許可しません

分類Dev

Python-辞書のリストを2つのネストされた辞書のリストに再グループ化しますか?

分類Dev

グループ化されたクエリの最初の `n`行を選択します

分類Dev

Excel VBAは、ワークシートのグループ化された行を決定します

分類Dev

リストを反復処理して、グループ化された箱ひげ図を作成します

分類Dev

パーティション化されていないが、ストリーミングバッファがあるテーブルの行を更新します。

Related 関連記事

  1. 1

    AngularJsは、ネストされたグループ化された行のレコードを削除します

  2. 2

    Pythonのリストのリストからグループ化された棒グラフを作成します

  3. 3

    リストのリスト内の要素をネストされた辞書にグループ化します

  4. 4

    別の列でグループ化された要素からリストのリストを返します

  5. 5

    新しく挿入されたグループ化行のIDでグループ化された行を更新します

  6. 6

    日付とタグでグループ化された行のリスト要素の頻度をカウントします

  7. 7

    グループ化された行をループし、グループPythonの最初の行を比較します

  8. 8

    グループ化されたデータフレームのリストを解除します

  9. 9

    ネストされたtibblesのグループ化変数を追加します

  10. 10

    Immutable.jsでGroupByを実行し、グループ化されたリストの最初の値を返します

  11. 11

    グループ化された観測量の排出量を1つのリストに収集します

  12. 12

    データセット値を特定の行値でグループ化されたリストに変換します

  13. 13

    日付でグループ化されたリストのQuerySetを返します

  14. 14

    グループ化されたリストのリストをグループ化する方法は?

  15. 15

    dictのリストを受け入れ、複数のキーでグループ化されたリストのdictを返します

  16. 16

    親IDでグループ化されたネストされたリストを作成しました

  17. 17

    グループ化されたリストからタプルキーのみをフィルタリングします

  18. 18

    DjangoはForeignKeysをクエリして、「グループ化された」リストを返します

  19. 19

    activerecordのグループ化された行の合計を選択します

  20. 20

    他のIDでグループ化されたIDの行のリストを取得する

  21. 21

    それらの1つでグループ化された行のサブセットを取得します

  22. 22

    SSRS:リストの異なるセルにグループ化された行を表示する方法

  23. 23

    SelectInput(RShiny)の選択肢のグループ化されたリストからグループラベルを取得します

  24. 24

    SetupFixtureは、Resharperでのグループ化されたテストの実行を許可しません

  25. 25

    Python-辞書のリストを2つのネストされた辞書のリストに再グループ化しますか?

  26. 26

    グループ化されたクエリの最初の `n`行を選択します

  27. 27

    Excel VBAは、ワークシートのグループ化された行を決定します

  28. 28

    リストを反復処理して、グループ化された箱ひげ図を作成します

  29. 29

    パーティション化されていないが、ストリーミングバッファがあるテーブルの行を更新します。

ホットタグ

アーカイブ