0

テーブル A には userIdentity (primaryKey) userName userPhoneNumber があります

テーブル B には someOtherKey(primaryKey) userIdentity userLocation があります

実行すると、一意の userIdentity を持つ 22 行が取得されます

SELECT *
FROM tableB 
WHERE tableB.timeStamp > '2013-11-1' 
GROUP BY tableB.userIdentity ;

実行すると2行しか取得できません(上記のクエリで22行の名前と電話番号を抽出するつもりです)

SELECT tableA.userName, tableA.phonePhoneNumber 
FROM tableB
JOIN tableA 
WHERE tableB.timeStamp > '2013-11-1'
GROUP BY tableB.userIdentity
    AND tableA.identityHash = tableB.identityHash;
4

2 に答える 2

2

2つの間の共通フィールドは、次のように、ではなく句の後userIdentityにある必要があります。ONJOINidentityHash

 SELECT tableA.userName, tableA.phonePhoneNumber 
 FROM tableB
 JOIN tableA
 ON tableB.userIdentity = tableA.userIdentity 
 WHERE tableB.timeStamp > '2013-11-1'
 GROUP BY tableB.userIdentity

私のフィドルのデモをチェック

于 2013-11-08T05:09:53.320 に答える