내가있는 나는 다음과 같은 테이블 구조를 사용하고 블로그 포스트 시스템을 만드는 오전 : - 단일 쿼리에서 두 개의 표를 사용 하시겠습니까?
blog_category
category_id, category_name, enabled, created_date
blog_post
post_id,title,article, author_id,date_published
post_category
category_id, post_id
blog_tag
tag_id, tag_name
post_tag
id,tag_id,post_id
post_related
id, post_id, post_related_id
blog_comment
comment_id, post_id, is_reply_to_id,comment,user_id
내 질문
은을 : 하나의 쿼리에서 출력의이 유형을 얻는 방법-
title,author_name,article,total_comments,post_tags
ap를 선택하면 관련 게시물을 표시하기 위해 post_related 테이블에 레코드를 삽입하는 방법 관절 기둥.
것은이 같은 노력하지만 보여
unknown column bp.post_id
CREATE PROCEDURE blog_get_posts_in_category( IN inCategoryId INT, IN inShortPostDescriptionLength INT, IN inPostsPerPage INT, IN inStartItem INT) BEGIN PREPARE statement FROM "SELECT bp.post_id, bp.title,(select count(*) from blog_comment where post_id=bp.post_id) as total_comments, IF(LENGTH(bp.article) <= ?, bp.article, CONCAT(LEFT(bp.article, ?), '...')) AS article, DATE_FORMAT(bp.date_published,'%d %M %Y at %h:%i:%s %p') as date_published, bp.banner_image,ba.display_name FROM blog_post bp INNER JOIN blog_post_to_category bpc ON bpc.post_id = bp.post_id INNER JOIN blog_author ba ON ba.id = bp.author_id WHERE bpc.category_id = ? and enabled=1 ORDER BY bp.post_id DESC LIMIT ?, ?"; SET @p1 = inShortPostDescriptionLength; SET @p2 = inShortPostDescriptionLength; SET @p3 = inCategoryId; SET @p4 = inStartItem; SET @p5 = inPostsPerPage; EXECUTE statement USING @p1, @p2, @p3, @p4, @p5; END$$
예이 절차는 blog_related 테이블에 속하지 않습니다. 나는 새 게시물을 만들 때 blog_related 테이블에 레코드를 삽입하는 방법과 관련 게시물로 다시 표시하는 방법을 알지 못합니다. –
너무 사소한 것 같지만'insert post_related (post_id, post_related_id) 값의 문제점은 무엇입니까? (<< 포스트의 ID >><< 관련 포스트의 ID >>) ??? 당신은'id' 칼럼이 자동 증가되고 당신이 관련된 글의 ID를 알아야 할 필요가 있습니다. 후자는 워크 플로우에 따라 달라집니다 ... –
선생님 친절한 지원에 감사하지만 제안 된 쿼리 post_category, post_tag 테이블의 역할은이 테이블이 연결 테이블이며 특정 카테고리를 기반으로 검색 되었기 때문에 무엇입니까? –