ユーザーとバランスの2つのテーブルがあります。
ユーザーテーブルのすべての詳細(すべてのタプルのすべてのフィールド)と、バランステーブルの最新のエントリ(ユーザーIDでリンクされた1つのフィールド)をテーブルに結合したいと思います。
テーブルの構造は次のとおりです。
残高:
+---------+
| Field |
+---------+
| dbid |
| userId |
| date |
| balance |
+---------+
ユーザー:
+-------------+
| Field |
+-------------+
| dbid |
| id |
| fName |
| sName |
| schedName |
| flexiLeave |
| clockStatus |
+-------------+
私はこれを行うために何時間も試みてきました、そして私が得ることができる最も近いものは単一のユーザーのために行を返すことです:
SELECT u.*, b.balance, b.date
FROM users u, balance b
WHERE
u.id = b.userId AND
b.date = (SELECT MAX(date) FROM balance WHERE userId = 'A8126982');
または、すべてのユーザーを選択できますが、残高テーブルの最新のエントリは選択できません。
SELECT u.*, b.balance, b.date
FROM users u, balance b
WHERE u.id = b.userId GROUP BY u.id;
私はさまざまなクエリを試しましたが、近づいているようですが、目的の場所に到達できません。
どんな助けでもいただければ幸いです。