2017-01-21 2 views
0

Привет. Я использую следующий запрос, чтобы выбрать только один файл из дочерней таблицы, который имеет соответствующий идентификатор с родительской таблицей, но с указанием его ошибки. пожалуйста, помогитеПолучите только одну запись из дочерней таблицы

$query = $this -> db -> query("select post.id AS PostID, post.*, 
post_files.* from post LEFT JOIN post_files ON post.category_id='1' AND 
post.id=(SELECT * FROM post_files WHERE post.id=post_files.post_id LIMIT 1)"); 

пост является таблица, в которой будут сохранены основные сведения сообщений и все файлы любит изображения будут сохранены в таблице post_files. Поэтому я хочу получить только один файл из post_files.

ответ

0

Вы ошибка в подзапросе Он должен быть

ВЫБРАТЬ post.id AS сообщений дан, пост. *, MIN (post_files.id), как file_id от пост LEFT JOIN post_files ON post.id = post_files .post_id GROUP BY post.id HAVVING post.category_id = '1';

+0

но его получить все записи из таблицы post_files я хочу только одну строки каждой соответствующей записи –

+0

прямо сейчас у меня есть 2 сообщения и оба сообщения имеют несколько изображений этого запрос получает все почтовые файлы первого поста не второй –

+0

пожалуйста укажите свои таблицы с полями и ожидаемым результатом. –

Смежные вопросы