我正在寻找一个SELECT查询,在那里我可以找到两个用户的状态,状态可以是多个事情,但让我们保持简单并检查两个用户是否是朋友。
使用此查询我可以选择具有x状态的每个用户,现在x表示没有状态。但这样做我得到了返回的用户表,我希望返回为true或false。此外,此查询返回x用户状态为x的所有人。我希望基于以下内容返回true或false:如果用户x和x具有状态,在这种情况下是朋友。我希望我不要在这里模糊。
checkAspectRation : function(file){
var reader = new FileReader();
/*Callback */
reader.onloadend = function() {
//var image = new Image();
var image = document.createElement("img");
image.onload = function() {
// access image size here
console.log("Width: " + this.width);
console.log("Height: " + this.height);
};
image.src = reader.result;
};
/*Read the file*/
reader.readAsDataURL(file);
},
用户表:
SELECT
u.*
FROM User u
LEFT JOIN User_Status us
ON u.id = User_ID1
AND us.User_ID2 = 4
WHERE us.status IS NULL
User_status表:
ID-----first_name-----last_name-----etc...<br>**
-2--------James----------someting-------...<br>
-4----------Jack-----------someting-------...<br>
-5--------Sabrina---------someting-------...<br>
通缉结果:
User_ID1-----User_ID2-----Status<br>**
-----------4-----------------2-----friends<br>
-----------2-----------------4-----friends<br>
-----------4-----------------5-----something else<br>
-----------5-----------------4-----something else<br>
答案 0 :(得分:1)
确实,你的问题有点模糊。根据我的理解,你想知道两个用户(已知的ID)是否是朋友?
以下查询可以帮助您。
SELECT
"A_USER_ID" as user_a,
"B_USER_ID" as user_b,
(
CASE
WHEN EXISTS(
SELECT *
FROM User_Status us
WHERE us.status = "friends" AND ((
us.User_ID1 = "A_USER_ID" AND us.User_ID2 = "B_USER_ID"
) OR (
us.User_ID1 = "B_USER_ID" AND us.User_ID2 = "A_USER_ID"
))
)
THEN "true"
ELSE "false"
END
) as friends
FROM
User u
WHERE
u.id = "A_USER_ID";