Intereting Posts
Использование нескольких фреймворков на одном веб-сайте Неустранимая ошибка: допустимый размер памяти 268435456 байт исчерпан (пытался выделить 71 байт) Обнаруживать SSL, когда прокси * всегда * утверждает, что безопасное соединение Есть ли способ отключить добавление свойств в класс из экземпляра класса? Как удалить пространство в конце строки? PHP: bootstrap.php PHP выпадающий, каждый из которых надежен Как разобрать объект PHP, когда имя атрибута *? Узнайте, существует ли дата между двумя датами, игнорируя год Является ли создание массива в каждом цикле foreach? Как я могу получить данные prodcut продукта VirtueMart 2 во внешнем файле? Регулярное выражение PHP с круглыми скобками Сервер производства PHP – включить сообщения об ошибках Найти комментарии по-разному в комментариях Yii Fixtures – Исключение: Неизвестные свойства «проекты» для класса «ProjectTest»

Получение данных из нескольких таблиц SQLite

У меня есть приложение для Android, у которого есть 2 таблицы, одна таблица хранит сообщения, а другая таблица сохраняет изображения сообщений, если у них есть изображение, изменения не все сообщения будут иметь изображения, если в сообщении есть изображение, его первичный ключ будет сохранен в таблице внешних ключей, при загрузке сообщений мне нужно получить все сообщения с изображением или нет, а затем проверить в таблице изображений, чтобы увидеть, какие сообщения имеют изображения и добавить изображения к сообщениям ниже, представляет собой графический обзор моих таблиц

Почтовый стол

`|post_id |post | post_description| |--------|-----|-----------------| | | | |` 

Таблица изображений

  `|img_id |fk_postID | imagePath | |--------|----------|-----------------| | | | |` 

Я мог бы использовать такое соединение, как Query = "SELECT post_id, post, post_description, imagePath FROM PostTable,
ImageTable, Where PostTable.post_id = ImageTable.fk_postID;
Query = "SELECT post_id, post, post_description, imagePath FROM PostTable,
ImageTable, Where PostTable.post_id = ImageTable.fk_postID;

но этот запрос только возвращает сообщения с изображениями и сбрасывает сообщения о сообщениях без изображений. Как я могу получить все сообщения с изображением или нет? Заранее спасибо.

хорошо, вы спросили, так что дайте этому вихрь, посмотрите, нравится ли вам выход

 SELECT pt.post_id, pt.post, pt.post_description, im.imagePath FROM PostTable pt left join ImageTable im on im.fk_postID=pt.post_id 

Это приведет к тому, что вы вернетесь на правильный стол (ImageTable) тех сообщений, у которых нет изображений.

Использует псевдонимы таблицы ( pt и im ). Это помогает быть явным, в какой таблице столбцы берутся в первой строке, если в обоих случаях есть общие имена столбцов, а также немного меньше ввода.

Непроверенные

ссылка Mysql Left Joins

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

 SELECT posttable.postid,posttable.post,posttable.postdescription, imagetable.imageid,imagetable.fkpostid,imagetable.imagepath FROM posttable LEFT JOIN imagetable ON posttable.postid=imagetable.fkpostid ORDER BY posttable.postid; 

Код должен выглядеть так.

http://www.w3schools.com/sql/sql_join_left.asp