+----+-------+---------+------+--------+--------+
|q_id|q_title|q_content|q_date|q_status|q_author|
+----+-------+---------+------+--------+--------+
| 1 |varchar| text | int | int | int |
+----+-------+---------+------+--------+--------+
이것은 첫 번째 테이블 : 질문입니다.
태그 표는이 구조가 있습니다한 번에 4 개의 테이블에서 데이터 선택
+------+--------+---------------+
|tag_id|tag_name|tag_description|
+------+--------+---------------+
| int |varchar | text |
+------+--------+---------------+
그리고 세 번째 테이블 (question_tags을)이 구조가 있습니다
+----+--------+------+
| id | tag_id | q_id |
+----+--------+------+
|int | int | int |
+----+--------+------+
마지막 테이블 (사용자하는)이 구조를 가지고 :
+----+----------+--------+
| id | username |password|
+----+----------+--------+
|int | varchar |varchar |
+----+----------+--------+
SELECT * , GROUP_CONCAT(tags.tag_name)
FROM questions
LEFT JOIN users
ON q_author = users.id
LEFT JOIN question_tags
ON questions.q_id = question_tags.q_id
LEFT JOIN tags ON tags.tag_id = question_tags.tag_id
GROUP BY questions.q_id
을하지만 더 이상 내 요구를 충족하지 않습니다나는이 쿼리 데이터를 선택하는 데 사용됩니다. 또한 question_tags 테이블에는 질문 당 두 개 이상의 태그가있을 수 있으며 모든 태그와 해당 ID를 가져 오려고합니다.
를 예상대로 작동합니다이 코드를 시도? –
태그 이름이있는 문자열을 반환하고 tag_id도 가져옵니다. –