2017-07-26 108 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

這不是你所說的,但你可以做你的眼球比較。只有通過查看它們的使用方式,才能確定哪些功能表更具相關性。也許它會變成你需要從每個表中獲取最大值或平均值。如果是這樣,你可以回到這裏尋求幫助,但是我們提供了一些建議,例如「我如何從兩個表中取出第一列中的最大值來創建一個具有所有最大值的單個表」我們不會回答問題,比如「我午餐盒裏的兩個奶酪哪個更好?」 –

相關問題