0

わかりました、これを言葉にできるか見てみましょう。同様のデータを持つ2つのテーブルがあります。これらは、システムの残りの部分が使用する Stock データとして機能することを意図しています。テーブルの 1 つは最近追加されたもので、そのテーブルの 2 列分のデータが他のテーブルのデータと一致する必要があるため、より高速なクエリの実行を試みることができます。それは言った。修正する必要がある列には、希望する列と非常によく似たデータがあります。のように、2 番目のテーブルから最初のテーブルへの選択クエリを実行してlike、実際に必要なデータを取得できますが、それを逆にすることはできません。

したがって、クエリベースで実行するだけで可能かどうかを知りたいのです。基本的に、2 番目のテーブルを実行して、2 列のデータを最初のテーブルの列と一致させたいと考えています。それらの内容は単なる文字列であるため、それらは varchar 列です。しかし、スポーツを使用して、私が持っている最初のテーブルの例として推測します:

ニューヨーク・ジャイアンツ

ニューイングランド・ペイトリオッツ

私が持っている2番目のテーブルで:

愛国者

ジャイアンツ

このクエリの実行中に、最初のテーブルのデータと一致するように 2 番目の列の行を更新したいと考えています。これはクエリベースだけで可能ですか、それとも克服するにはある程度のサーバー側ロジックを考え出す必要がありますか?

1 つのテーブルでは、約 4000 行で作業していますが、もう 1 つのテーブルでは 1001 行で作業していますが、言及する価値があるかどうかはわかりません。

4

1 に答える 1

0

mysql コマンドライン クライアントを使用してデータベースにログインし、データベースを選択します。次に、次のように入力します。

mysql> describe config;

テーブルconfigの定義を出力します。それをコピーして質問に追加します。

+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| id     | int(11)     | NO   | PRI | NULL    | auto_increment |
| option | varchar(45) | NO   |     | NULL    |                |
+--------+-------------+------+-----+---------+----------------+

2 つのテーブルに対してそれを行います。

次に、これらのテーブルの模範的なデータも取得します。

mysql> select * from config LIMIT 5;

その後、もう一度コピーして貼り付けることができます:

+----+---------------------------+
| id | option                    |
+----+---------------------------+
|  1 | value for option with ID1 |
|  2 | value for option with ID2 |
+----+---------------------------+

それは、少なくとも既存のデータについて、あなたが求めていることをより具体的にするはずです。次に、同様のレイアウトを使用して、達成したい結果を定式化してみてください。

于 2012-11-07T16:14:29.013 に答える