我对 MySQL 语句不是很好,所以我正在寻找一些见解。假设用户访问了其他人的页面。这会将用户名作为参数发送到脚本,以检查当前用户和他们正在访问的用户页面是否是朋友。
我的简单数据库结构:
朋友桌——relationship_id, friend1_ID, friend2_ID, status
ACTIVE_USERS 表—— id, username, email
……等等。
我当前的SQL语句如下:
SELECT *
FROM friends
JOIN active_users ON ( active_users.username = '$username' )
WHERE (
friends.friend_1ID = '$current_user_ID'
AND friends.friend_2ID = active_users.id
AND friends.status = 1
)
虽然这很有效,但我觉得它并不优雅。如果两者是朋友则返回一行,但这一行显然是用户信息行和关系行的连接。我只想抓住关系行。将其分为两个陈述是否经济?例如,我将使用用户名查询访问页面的用户 ID,然后在第二条语句中使用该变量来获取关系。或者有没有我没有遇到过的更简单的语法?帮助表示赞赏!