2017-07-26 17 views
-1

SQLで2つのテーブルを結合する最良の方法を見つけるのに問題があります。
私は以下のような同じ列であるが値の異なる2つのユーザー機能テーブルを持っています:

この2つのテーブルはユーザーのユーザー機能プロファイルを表しますが、これを単一のユーザー-featureテーブルであり、table1のuser(i)のデータがより本格的であるかtable2のデータであるかはわかりません。
この2つのテーブルを組み合わせるにはどうすればよいですか?たとえば、
は平均値または最大値を使用すべきですか、それとも良い方法がありますか?同じ列と異なる値を持つ2つのテーブルを組み合わせる最良の方法

Table1: 

user feature1 feature2 
A  2   8 
B  4   3 
C  1   6 

表2:

user feature1 feature2 
A  3   6 
B  2   4 
C  4   8 
+2

期待される出力は何ですか? _More authentic_は、あなたが選択すべき値を判断するための非常に有用な指標ではありません。 – fen1x

+0

予想される出力は、フィーチャ1とフィーチャ2の列を持つユーザフィーチャテーブルのようにする必要があります。どのユーザをどのように組み合わせるべきですか?これらの値は、さまざまなソースによってユーザーの各機能に割り当てられる重みであり、1つの表に結合する必要があります。 –

+0

@a_horse_with_no_name私はmysqlを使用しています –

答えて

1

単にこれはあなたがこれらの表の両方のテーブル&に少なくとも1つの同じ列を持っている最良の方法あなたがIDとしてユーザー列を持っているクエリ結合を使用

select 
a.user, a.feature1 as FeatureA, b.feature1 as FeatureB 
from table1 a join table2 b 
on a.user=b.user; 
+0

いいえ私はtable1と2のようなfeature1とfeature2の列を持つためにtable3が必要です。例えば平均値を使って各ユーザーの値をマージする必要があります。 –

+0

次に、mssqlを使用している場合はfromの前にtable3を使用し、mysqlを使用している場合はcreate table table3を(このシンタックス)として使用する場合のように、この結果を持つテーブルを作成します。 –

1

これらのテーブルを使用するコードを見て、その違いを確認してください。

多分1つのテーブルが

もはや使用されないかもしれない一つのテーブルは、ユーザインタフェース機能を設定するためのものであり、他のデータ処理機能を設定するためのものである(uiFeature1と呼ばれる4列の一つのテーブルと呼ばれる機能を行うその場合、uiFeature2、dpFeatire1 、dpFeature2

本質的にここであなたはインターネット上の誰もあなたに答えられないという質問をしました。あなたは自分で研究しなければならないでしょう。

+0

はいあなたの権利私は研究をすべきです私はちょうど私がそれらの間の比較をすることができるように最良の方法を知りたい –

+0

それはあなたのようなものではありませんが、あなたの眼球との比較を行うことができます。どのように使用されているかを調べることで、どのフィーチャテーブルがより適切であるかを理解することができます。おそらく、各テーブルから最大値または平均値を取る必要が出てくるでしょう。もしそうなら、ここでクエリの助けを借りて返すことができますが、 "2つのテーブルからどのようにして1列の最大値を取って、すべての最大値を持つ単一のテーブルを作るか"ランチボックスの2つのチーズのどちらがよかったかのような質問に答えてください。 –

関連する問題