已经尝试了几个小时 - 不幸的是我被困在这个三表连接上。
问题是我可以检索用户朋友的所有照片。但我想要朋友的照片和用户的照片。但是,我不确定它的语法。
这是我的表结构:
active_users: id, username, name, etc...
friends: relationship_id (PK), friend1_ID (FK), friend2_ID (FK), status
pictures: picture_id (PK), user_id (FK), name, date, etc.
所以这是我目前必须获取用户朋友照片的声明:
SELECT p.*, a.username
FROM friends f
JOIN active_users a ON (f.friend_1ID='$userID' AND f.friend_2ID=a.id AND status=1)
JOIN pictures p ON (p.user_id=f.friend_2ID)
我如何修改它以包含用户的照片?我可以使用 UNION 来做到这一点,但我相信(或被告知)如果有通过用户输入的方法,这很昂贵并且容易受到 SQL 攻击。
我还考虑将用户添加为自己的朋友 - 这可以接受吗?