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




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키로 가져올 데이터가 없는데 끌어오려고 해서 문제였다~ 이얏호~
