2017-07-26 131 views
-1

我有问题,发现在sql中结合我的两个表的最佳方法。
我有2个用户功能表,如下面的相同的列,但不同的值:

这2个表代表用户的用户特征配置文件,但从不同的来源生成我需要的是将其组合到单个用户 - 特性表,我们不知道用户(i)来自table1的数据是更真实的还是来自table2。
您认为结合这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

预期产量是多少? _更真实_不是很有用的指标来判断你应该选择哪个值。 – fen1x

+0

期望的输出应该像feature1和feature2列的用户特征表问题是我应该如何组合每个用户的值?这些值是通过不同的来源为用户的每个功能分配权重,我需要将它结合到一个表中。 –

+0

@a_horse_with_no_name我使用的是mysql –

回答

1

只需使用连接查询,这是当你在这些表在两个表&至少一个相同的列中,您有用户列作为身份的最好方式

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

不,我需要table3有像表1和2那样的feature1和feature2列,我需要通过使用均值来合并每个用户的值。 –

+0

然后用这个结果创建一个表,如果你使用的是mssql,那么在使用mysql之前使用到table3中,如果你使用的是mysql,那么使用create table table3(this syntex); –

1

你将不得不看看使用这些表的代码,看看它如何不同

也许不使用一个表中的任何更多

也许一个表是用于设置用户界面特征和其他是用于设置数据处理功能(在这种情况下使用4列一个表称为特征称为uiFeature1,uiFeature2,dpFeatire1 ,dpFeature2

基本上,在这里你问了一个问题,没有人在互联网上可以回答你;你将不得不自己做研究

+0

是的,你的权利,我应该做的研究,我只是想知道什么是最好的方式,以便我可以做他们之间的比较 –

+0

这不是你所说的,但你可以做你的眼球比较。只有通过查看它们的使用方式,才能确定哪些功能表更具相关性。也许它会变成你需要从每个表中获取最大值或平均值。如果是这样,你可以回到这里寻求帮助,但是我们提供了一些建议,例如“我如何从两个表中取出第一列中的最大值来创建一个具有所有最大值的单个表”我们不会回答问题,比如“我午餐盒里的两个奶酪哪个更好?” –

相关问题