我想从三个具有多对多关系的表中获取数据。这是我的数据库的表结构。
用户
uid[pk] fname lname username
1 John smith johnsmith
活性
act_id[pk] title
log Account Login
reg Account Registration
user_activity
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地址和date_time。
Output: johnsmith john smith Account Login 1.1.1.1 1-11-2013 4:00am
答案 0 :(得分: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)
答案 1 :(得分: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