PROJECT/[ 도서쇼핑몰 ]

좋아요 API COUNT(*) AS 별칭 EXIST

Lim임 2025. 10. 24. 17:28

좋아요 추가 프레임
좋아요 삭제 프레임

 

COUNT(*) 

SELECT * , 

    (SELECT count(*) FROM likes WHERE liked_book_id=books.id) AS likes 

     FROM books;

AS 별칭

 

EXIST 존재하니?

SELECT EXIST

    (SELECT * FROM likes WHERE user_id = 1 AND liked_book_id=9);

 

다 사용

SELECT *,

(SELECT count (*) FROM likes WHERE liked_book_id=books.id) AS likes,

(SELECT EXISTS (SELECT * FROM likes WHERE user_ id=1 AND liked_book_ id=1)) AS liked_book_id=1)) AS liked

FROM books

LEFT JOIN category

ON books. category_id = category.category_id

WHERE books. id=1;

🚀 트러블슈팅 

실행하면 

node:internal/errors:490
    ErrorCaptureStackTrace(err);
    ^

Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/seoin/Desktop/KDT/BOOK-SHOP/controller/LikeController' imported from /Users/seoin/Desktop/KDT/BOOK-SHOP/routes/likes.js
    at new NodeError (node:internal/errors:399:5)
    at finalizeResolution (node:internal/modules/esm/resolve:231:11)
    at moduleResolve (node:internal/modules/esm/resolve:850:10)
    이러면서 안돼

 

=> 해결하는 방법

 

promise ESModule을 사용하는 프로젝트라면

확장자명을 제대로 작성했는지 확인해보세용

 

---

 

 

계속~ 같은 오류가 떠서 곤란했다

나는 분명히~ 강의영상과 똑같이 만들었는데~,,

이유를 찾아보니

 

들어갈 user_id (user table의 id) 와 liked_book_id(books table의 id)가

1,2,3 이 아니라 1,4,5 이런식으로 되어있었다(auto increment를 사용하며 삽입 삭제를 반복한 상황)

foreign키로 가져올 데이터가 없는데 끌어오려고 해서 문제였다~ 이얏호~

흠씬 손봐주었다