0

我想从三个具有多对多关系的表中获取数据。这是我的数据库的表结构。

用户

uid[pk] fname lname username
 1      John  smith johnsmith

活动

act_id[pk] title
 log       Account Login
 reg       Account Registration

用户活动

serial_number[pk] act_id[fk] user_id[fk] ip_address date time
1                  reg           1       2.2.2.2      - 
2                  log           1       1.1.1.1      -                

我想获取用户名、fname、lname 和活动、IP 地址和日期时间。

Output: johnsmith    john smith    Account Login    1.1.1.1    1-11-2013 4:00am 
4

2 回答 2

0

您需要使用 SQL 连接:

SELECT * FROM users
LEFT JOIN activity
LEFT JOIN user_activity UA ON (UA.act_id = activity.id AND UA.user_id = users.uid)
于 2013-11-01T00:00:41.537 回答
0

仅选择/加入您的领域-

SELECT u.username, u.fname, u.lname, a.title, ua.ip_address, ua.date_time
FROM users u
LEFT JOIN user_activity ua ON ua.user_id = u.uid
LEFT JOIN activity a ON a.id = ua.act_id
于 2013-11-01T00:07:22.613 回答