두 쿼리를 어떻게 하나로 결합 할 수 있습니까?다른 테이블에서 두 개의 쿼리를 결합하십시오.
첫 번째 쿼리는 특정 카테고리의 모든 posts_id를 가져옵니다. post_category 테이블에서 postId는
select distinct postId
from post_category
where categoryId='125' or categoryId='3'
그때 나는 그것이 포스트 테이블
SELECT * FROM post <<query one join>> AND approve=1"
후
+--------------+-----------------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-----------------------+------+-----+---------------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| autor | varchar(40) | NO | MUL | | |
| date | datetime | NO | MUL | 0000-00-00 00:00:00 | |
| short_story | text | NO | MUL | NULL | |
| full_story | text | NO | MUL | NULL | |
| xfields | text | NO | | NULL | |
| title | varchar(255) | NO | MUL | | |
| descr | varchar(200) | NO | MUL | | |
| keywords | text | NO | | NULL | |
| category | varchar(200) | NO | MUL | 0 | |
| alt_name | varchar(200) | NO | MUL | | |
| comm_num | mediumint(8) unsigned | NO | MUL | 0 | |
| allow_comm | tinyint(1) | NO | | 1 | |
| allow_main | tinyint(1) unsigned | NO | MUL | 1 | |
| approve | tinyint(1) | NO | MUL | 0 | |
| fixed | tinyint(1) | NO | | 0 | |
| allow_br | tinyint(1) | NO | | 1 | |
| symbol | varchar(3) | NO | MUL | | |
| tags | varchar(255) | NO | MUL | | |
| metatitle | varchar(255) | NO | | | |
| FileTempUUID | varchar(11) | YES | | NULL | |
+--------------+-----------------------+------+-----+---------------------+----------------+
post_category에 post_category에서 모든 postId을 선택 있도록 그들과 합류 할 후 테이블에 ID 같음 ;
+------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+----------------+
| cid | bigint(11) | NO | PRI | NULL | auto_increment |
| postId | int(11) | NO | | NULL | |
| categoryId | smallint(6) | NO | | NULL | |
+------------+-------------+------+-----+---------+----------------+
'{$에 가입}'의 가치는 무엇입니까? – Fluffeh
db 구조를 모를 때까지는 추측하기가 어렵습니다. –
PHP를 SQL과 분리하십시오 (예 : * SQL * 및 관계 구조 만 표시). PHP가이 SQL을 어떻게 생성하는지 SQL이 조인을 수행하는 방법과는 무관합니다 (잘못 생성 한 경우 코드의 버그 일 뿐이며 SQL 또는 조인과 관련이 없습니다). 그래서, 결국 : * 실제 SQL [실행 예정] *을 표시하십시오. – user2246674