如何加入多表?

Nik*_*lin 3 sql sql-server join

我有以下表格(和示例值):

**user:**
user_id (1, 2, 3)
username (john33, reddiamond...)
password (pass1, pass2...)

**session:**
session_id (4,5, 6)
user_id (1, 2, 3)

**activity**
activity_id (1, 2)
name (running, walking...)

**user_activity**
user_activity_id (1, 2, 3, 4, 5)
session_id (4, 5)
activity_id (1, 2)
Run Code Online (Sandbox Code Playgroud)

所有具有相同名称的列都是相关的.在表中user_activity有行描述会话的活动是什么,活动是指用户.

但是,我想获得描述用户当前正在做什么的表:

**result**
username(john33)
activity.name(walking)
Run Code Online (Sandbox Code Playgroud)

获取结果表的SQL语句是什么?

(我正在使用MSSQL).

Row*_*haw 7

SELECT u.username, a.name
FROM user_activity ua
INNER JOIN session s
ON ua.session_id = s.session_id
INNER JOIN user u
ON s.user_id = u.user_id
INNER JOIN activity a
ON ua.activity_id = a.activity_id
Run Code Online (Sandbox Code Playgroud)