検索
に質問 書き直されたタイトルは次のとおりです: データ クリーニングに適した MySQL クエリ ステートメント

0
<p>テーブルが 3 つあります。 1 つのテーブルは移動距離テーブルです。

<pre class="brush:php;toolbar:false;">テーブルルートを作成する ( スラット整数、 slng int、 dlat int、 DLNG 整数、 距離整数 );</pre> <p>テーブルはサイトテーブルです</p> <pre class="brush:php;toolbar:false;">テーブル サイトを作成する ( ID 整数、 名前 varchar(100)、 緯度整数、 lng int );</pre> <p>技術者用のテーブルもあります</p> <pre class="brush:php;toolbar:false;">テーブル fse を作成 ( ID 整数、 名前 varchar(100)、 緯度整数、 lng int );</pre> <p>移動距離テーブルは、Google API リクエストを通じて動的に入力されます。したがって、新しい停留所や新しい技術者がいる場合、すべての新しい移動距離が Google を通じてリクエストされ、ルート テーブルに保存されます。 </p> <p>もちろん、顧客や技術者が退職することも考えられます。この場合、距離テーブルのエントリは、使用されなくなった場合でもデータベースに残ります。 </p> <p>テーブル内のこれらの未使用の行を削除したいと考えています。そこで、このフィドル</p>のコメントに書かれているように、サイト/技術者テーブル内の「存在しない」緯度と経度の組み合わせをすべて削除できるクエリを探しています。 <p>https://www.db-fiddle.com/f/mwF1iyZ7nn8rnDcE8Wstch/0</p> <p>このクエリを自分で書くこともできますが、唯一の解決策は非常に多くのサブクエリを使用することです。しかし、より効率的な方法があるかどうか疑問に思っています。ここの SQL 専門家が助けてくれることを願っています。 </p>
Your Answer
提出する

1 件の回答
0

このクエリは機能するはずです:

リーリー

テーブル sites および fse からすべてのレコードを選択し、サブクエリでレコードが見つからないルート テーブルの行を削除します。 in は 1 つの列しか処理できないため、2 列の concat を使用する必要があります。 | は値を区切るためにのみ使用されます。

DB-フィドル

2023-09-04 14:09:32

提出する

Hot Tools

vc9-vc14 (32+64 ビット) ランタイム ライブラリ コレクション (以下のリンク)

vc9-vc14 (32+64 ビット) ランタイム ライブラリ コレクション (以下のリンク)

phpStudy のインストールに必要なランタイム ライブラリのコレクションをダウンロードします。

VC9 32ビット

VC9 32ビット

VC9 32 ビット phpstudy 統合インストール環境ランタイム ライブラリ

PHP プログラマー ツールボックスのフルバージョン

PHP プログラマー ツールボックスのフルバージョン

プログラマ ツールボックス v1.0 PHP 統合環境

VC11 32ビット

VC11 32ビット

VC11 32ビットphpstudy統合インストール環境ランタイムライブラリ

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい