SELECT username, user_status
FROM users
JOIN relationships ON users.user_id = relationships.user_two_id
WHERE relationships.user_one_id = $1
OR relationships.user_two_id = $1
AND relationships.relationship_status = 1
上述查询;我想做的是使用用户ID 根据用户为好友时显示的“ 1”,验证用户是否为好友。
预期:
返回用户身份(如果他们是朋友)
实际:
返回我要为其执行查询的用户的多余重复项-因此,如果我的用户名是bob,并且执行了此查询,则我什至多次看到bob,而我什至都不愿见到他。
示例表格:
CREATE TABLE users (
user_id bigserial UNIQUE PRIMARY KEY,
email VARCHAR(30) UNIQUE,
password VARCHAR(70),
username VARCHAR(30)UNIQUE,
dob INTEGER,
country VARCHAR(30),
province VARCHAR(30),
city VARCHAR(30),
date TIMESTAMP
);
CREATE TABLE relationships(
record bigserial UNIQUE PRIMARY KEY,
user_one_id bigserial REFERENCES users(user_id),
user_two_id bigserial REFERENCES users(user_id),
relationship_status INTEGER,
date TIMESTAMP WITH TIME zone
);
答案 0 :(得分:0)
运行时只有一个内衬,非常内在; SELECT DISTINCT用户名,user_status ....