2016-12-06 16 views
0

サブクエリは2つあります。ここでサブクエリA date_lat_lngとstat_totalサブクエリAと共通性を有するが、IDがないような....サブクエリの比較

id | date_lat_lng | stat_total | rnum 
-------+--------------------+------------+------ 
16820 | 2016_10_05_10_3802 |   9 | 2 
15701 | 2016_10_05_10_3802 |   9 | 3 
16821 | 2016_10_05_11_3802 |   16 | 2 
17861 | 2016_10_05_11_3802 |   16 | 3 
16840 | 2016_10_05_12_3683 |   42 | 2 
17831 | 2016_10_05_12_3767 |   0 | 2 
17862 | 2016_10_05_12_3802 |   11 | 2 
17888 | 2016_10_05_13_3683 |   35 | 2 
17833 | 2016_10_05_13_3767 |   24 | 2 
16823 | 2016_10_05_13_3802 |   24 | 2 

とサブクエリBの出力です。

id | date_lat_lng | stat_total | rnum 
-------+--------------------+------------+------ 
17860 | 2016_10_05_10_3802 |   9 | 1 
15702 | 2016_10_05_11_3802 |   16 | 1 
17887 | 2016_10_05_12_3683 |   42 | 1 
15630 | 2016_10_05_12_3767 |   20 | 1 
16822 | 2016_10_05_12_3802 |   20 | 1 
16841 | 2016_10_05_13_3683 |   35 | 1 
15632 | 2016_10_05_13_3767 |   23 | 1 
17863 | 2016_10_05_13_3802 |   3 | 1 
16842 | 2016_10_05_14_3683 |   32 | 1 
15633 | 2016_10_05_14_3767 |   12 | 1 

サブクエリAとBの両方が同じテーブルのデータをプルします。私は除き

DELETE FROM table WHERE 
id IN 
(SELECT id FROM (subqueryA) WHERE 
subqueryA.date_lat_lng=subqueryB.date_lat_lng 
AND subqueryA.stat_total=subqueryB.stat_total) 

:私は、サブクエリのAと同じIDを共有するだけでどこdate_lat_lngstat_total

が効果的に私が必要とするサブクエリBの共有の一致を持つテーブルの行を削除したいですサブクエリBをどこに配置するか、まったく別の構造が必要な場合はわかりません。このような

答えて

0

何か、

DELETE FROM table WHERE 
id IN (
SELECT DISTINCT id 
FROM subqueryA 
JOIN subqueryB 
    USING (id,date_lat_lng,stat_total) 
) 
+0

これは近くにありました!ありがとう。 USINGグループから 'id'を削除するだけでした。 ''((date_lat_lng、stat_total) を用いsubqueryB をJOIN subqueryAは異なるID 選択)IN IDテーブルからDELETE – Kasey

関連する問題