SQL での 2 つのテーブル間の重複する時間間隔の検索
開始時刻フィールドと終了時刻フィールドを含む 2 つのテーブルを持つデータベースでは、多くの場合、これが必要になります。時間間隔が交差する行を識別します。この質問では、SQL Server 2005 で WHERE 句を使用してこのような重複を効率的に見つけるための解決策を提供します。
解決策:
次のクエリを使用して、重複する時間を見つけることができます。 table1 の行間の間隔とtable2:
SELECT * FROM table1,table2 WHERE table2.start <= table1.end AND (table2.end IS NULL OR table2.end >= table1.start)
説明:
クエリは JOIN 条件を使用して、両方のテーブルの時間間隔を比較します。 WHERE 句では 2 つの条件が使用されます。
この WHERE 句は、行 2 の時間間隔が行 1 の時間間隔と交差するかどうかを効果的に決定します。結合を使用することで、クエリは効率的に行を取得します。このような重複が存在する両方のテーブルから。
以上が2 つの SQL テーブル間の重複する時間間隔を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。