簡體   English   中英

我的SQL查詢顯示錯誤:#1242-子查詢返回多於1行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM