๐Ÿ‘ป [WHYGRAM] | [JS] | ๐ŸŽฎ๋Œ“๊ธ€ ๊ธฐ๋Šฅ , ๋Œ“๊ธ€์ด ์—ฌ๋Ÿฌ๊ฐœ์ธ๋ฐ๋„ ํ•˜๋‚˜๋งŒ ๋‚˜์˜จ๋‹ค

0

๐Ÿ‘ป WHYGRAMย 

๋ชฉ๋ก ๋ณด๊ธฐ
15/16
post-thumbnail

๐ŸŸฆ ๊ฒŒ์‹œ๋ฌผ ๋””ํ…Œ์ผ - ๋Œ“๊ธ€์ด ์—ฌ๋Ÿฌ๊ฐœ์ธ๋ฐ๋„ ํ•˜๋‚˜๋งŒ ๋‚˜์˜จ๋‹ค.

๐Ÿ”น ์—๋Ÿฌ

๐Ÿ”น ์›์ธ

โœ… GROUP BY ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋–„๋ฌธ

SELECT A.cmt_id, A.feed_id, A.users_id, A.cmt_cmt, A.cmt_regdt
             , B.users_img, B.users_nickname
            <if test="user4FavCmt > 0">
            , CASE WHEN COUNT(C.users_id) IS NULL THEN 0 END AS cmtFavCnt  ๐Ÿ‘ˆ๐Ÿ”บํ‹€๋ฆฌ๊ฒŒ ์ ์Œ๐Ÿ”บ
            , CASE WHEN D.users_id IS NULL THEN 0 ELSE 1 END AS isCmtFav
            </if>
        FROM cmt A
        LEFT JOIN users B
        ON A.users_id = B.users_id
        <if test="user4FavCmt > 0">
        LEFT JOIN cmt_fav C  ๐Ÿ‘ˆ๐Ÿ”บGROUP BY ํ•ด์•ผํ•œ๋‹ค๐Ÿ”บ
        ON C.cmt_id = A.cmt_id AND C.feed_id = A.feed_id
        LEFT JOIN cmt_fav D ๐Ÿ‘ˆ๐Ÿ”บGROUP BY ํ•ด์•ผํ•œ๋‹ค๐Ÿ”บ
        ON D.cmt_id = A.cmt_id AND D.feed_id = A.feed_id AND D.users_id = ${user4FavCmt}
        </if>
        WHERE A.feed_id = ${feed_id}
        ORDER BY A.feed_id DESC

๐Ÿ‘‡์˜ฌ๋ฐ”๋ฅธ SQL

SELECT A.cmt_id, A.feed_id, A.users_id, A.cmt_cmt, A.cmt_regdt
             , B.users_img, B.users_nickname
        
            , IFNULL(C.cnt, 0) AS cmtFavCnt ๐Ÿ‘ˆ๐Ÿ”บ์ˆ˜์ •๐Ÿ”บ
            , CASE WHEN D.users_id IS NULL THEN 0 ELSE 1 END AS isCmtFav
        
        FROM cmt A
        LEFT JOIN users B
        ON A.users_id = B.users_id
        
        LEFT JOIN (                      ๐Ÿ‘ˆ๐Ÿ”บGROUP BY๐Ÿ”บ
        SELECT cmt_id, feed_id, COUNT(cmt_id) AS cnt
		  FROM cmt_fav
		  GROUP BY cmt_id
		  ) C
        ON C.cmt_id = A.cmt_id AND C.feed_id = A.feed_id
        LEFT JOIN (             ๐Ÿ‘ˆ๐Ÿ”บGROUP BY๐Ÿ”บ
		  SELECT cmt_id, feed_id, users_id
		  FROM cmt_fav
		  GROUP BY cmt_id
		  ) D
        ON D.cmt_id = A.cmt_id AND D.feed_id = A.feed_id AND D.users_id = 2
        WHERE A.feed_id = 3
        ORDER BY A.feed_id DESC
profile
๋ช‡ ๋ฒˆ์„ ๋„˜์–ด์ ธ๋„ ์•ž์œผ๋กœ ๊ณ„์† ๋‚˜์•„๊ฐ€์ž

0๊ฐœ์˜ ๋Œ“๊ธ€