JOINと集計条件に基づくSQLDELETE

ベータ

カテゴリと日付を含む2つのテーブルがあります。

表1:

cat date
A   20160102
A   20160103
A   20160104
B   20170202
B   20170203
B   20170204

表2:

cat date
A   20160103
A   20160104
A   20160105
B   20170203
B   20170206
B   20170207

ここで、日付がカテゴリごと表2の最も早い日付以降である、表1からすべての行を削除したいと思います。

カテゴリA最も早い日付20160103です。カテゴリB最も早い日付20170203です。したがって、エントリは('A','20160103')('A','20160104')、および('B','20170204')から削除されるべきである。表1

テストのために、SELECT削除する値を選択するステートメントを作成しようとしています現在、私はこれを思いついた:

SELECT
    t1.id
   ,t1.holiday
   ,MIN(t2.holiday)
FROM
    table1 t1
    INNER JOIN table2 t2
        ON t2.id = t1.id
GROUP BY
    t1.id
   ,t1.holiday

次の論理的なステップ(私にとって)は、次のWHEREを追加することです

SELECT
    t1.id
   ,t1.holiday
   ,MIN(t2.holiday)
FROM
    table1 t1
    INNER JOIN table2 t2
        ON t2.id = t1.id
WHERE
    t1.holiday >= MIN(t2.holiday)
GROUP BY
    t1.id
   ,t1.holiday

ただし、これにより次のエラーが発生します。

集計は、HAVING句または選択リストに含まれるサブクエリに含まれておらず、集計される列が外部参照でない限り、WHERE句に表示されない場合があります。

どうすればこの問題を解決できますか?

TT。

これは最初の質問に答えます(表1からの削除について)

DELETE t1
FROM Table1 AS t1
     INNER JOIN (
         SELECT
            cat,
            min_date=MIN([date])
         FROM
            Table2
         GROUP BY
            cat
    ) AS t2 ON
        t2.cat=t1.cat
WHERE
    t1.[date]>=t2.min_date

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

R:因子レベルと年に基づく条件付き集計

分類Dev

条件に基づく合計

分類Dev

条件に基づく計算

分類Dev

行と列の条件の基準に基づく合計

分類Dev

月と年に基づく集計配列

分類Dev

日付範囲に基づく集計

分類Dev

配列比較に基づくSQLDELETE、UPDATE、またはINSERT

分類Dev

複数の条件に基づく累計

分類Dev

行列条件に基づくExcelの合計

分類Dev

条件に基づく列の合計

分類Dev

条件に基づく平均合計

分類Dev

時間間隔とキーに基づく年ごとのR集計

分類Dev

条件に基づいて列集計を合計する

分類Dev

UNIXタイムスタンプに基づく日ごとのMongodb集計

分類Dev

MongoDBの日付フィールドに基づくカウントと集計

分類Dev

複数の基準を使用した集計と、カウントキーに基づく合計の一致

分類Dev

Mongo-名前に基づく値の合計の集計

分類Dev

値と条件に基づくOracleXMLTYPE抽出

分類Dev

月と年に基づく条件

分類Dev

パンダのグループ化と条件に基づく計算

分類Dev

MS Access、基準に基づく条件付き合計

分類Dev

さまざまな条件に基づいて集計する方法

分類Dev

pysparkの条件に基づいて値を集計します

分類Dev

2つの子テーブルの集計を比較する条件に基づくリターンレコード

分類Dev

SQL-特定の列の集計に部分的に基づく結果

分類Dev

カテゴリに基づく集計値

分類Dev

上位n列を選択(集計に基づく)

分類Dev

DAXの集計関数に基づくLOOKUPVALUE

分類Dev

2つの別々の列に基づく値の集計

Related 関連記事

ホットタグ

アーカイブ