[英]My SQL query showing error : : #1242 - Subquery returns more than 1 row
我對mysql有問題。
我有幾張表格,例如tbl_follow,tbl_user,tbl_post_like,
現在我想要的是我的查詢應返回如下結果:
我想從一個表-> tbl_user中獲取用戶ID,用戶名,用戶圖像,用戶狀態,然后僅在表“ tbl_follow”中的“ estatus”列包含“ Active”值時,我希望那些關注其他朋友(其他用戶)的用戶否則,如果存在“非活動”值,則它應返回0,因為我已在查詢中進行編碼。
tbl_follow:1.iFollowID,2.iUserID,3.iFriendID,4.eStatus
tbl_post_like:1. iPostLikeID,2。iUserID,3。iPostID
tbl_user:1.iUserID,2.vUsername,3.vImage,4.vState
現在,我正在使用的簡單查詢是:
SELECT u.iUserID,
u.vUsername,
u.vState,
u.vImage,
(SELECT IF(
(SELECT iFollowID
FROM tbl_follow
WHERE iUserID =249
AND iFriendID = 250
AND eStatus = 'Active')!='', 1,0)
FROM tbl_follow) AS is_follow
FROM tbl_user u
INNER JOIN tbl_post_like l ON u.iUserID=l.iUserID
WHERE l.iPostID=21
與使用額外的聯接相比,尚不確定性能,但希望它會起作用:
嘗試:
SELECT u.iUserID,
u.vUsername,
u.vState,
u.vImage,
IF(EXISTS
(SELECT iFollowID
FROM tbl_follow
WHERE iUserID =249
AND iFriendID = 250
AND eStatus = 'Active'), 1,0) AS is_follow
FROM tbl_user u
INNER JOIN tbl_post_like l ON u.iUserID=l.iUserID
WHERE l.iPostID=21
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.