Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 4
1

Выбор из двух таблиц

18.06.2013, 09:21. Показов 1258. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток!
Помогите решить проблему)
Есть две таблицы : таблица для фотоальбомов и таблица для фото в этих альбомах, соответствие установлено с помощью внешнего ключа. Делаю выбор из двух таблиц запросом

mysqlQuery("SELECT * FROM gallery LEFT JOIN gallery_photo
ON gallery.id = gallery_photo.id_parent
WHERE gallery_photo.main =1
"
);
Сложность в том, что тут не всем записям и таблицы gallery соответствует запись в таблице gallery_photo. Если убрать условие WHERE, то вытаскиваются все записи из обоих таблиц, но из второй надо только те, для которых main=1. Если же учесть условие, то пропадают те записи из таблицы gallery, для которых нет записей во второй таблице. Как сделать так, чтобы вытаскивались все строки из первой +из второй только те, для которых main=1?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.06.2013, 09:21
Ответы с готовыми решениями:

Выбор записей из двух таблиц
Здравствуйте. Есть таблица users. В ней есть поля id, login, email, etc. Есть еще одна таблица...

Выбор полей из двух таблиц
Добрый день! У меня есть несколько таблиц, но в данном запросе участвуют две - одна таблица...

Выбор из двух таблиц по дате и имени
Коллеги, у меня есть две таблицы одинаковых по структуре (Группа 1 , Группа 2). Например вида: Id...

Выбор из 3х таблиц
Здравствуйте! Есть три таблицы 1) Категоря-Пользователь cat_user +----+----------+--------+...

2
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
18.06.2013, 10:20 2
На выбор
MySQL
1
2
3
SELECT *
FROM gallery
         LEFT JOIN gallery_photo ON gallery.id = gallery_photo.id_parent AND gallery_photo.main = 1
MySQL
1
2
3
4
SELECT *
FROM gallery
         LEFT JOIN gallery_photo ON gallery.id = gallery_photo.id_parent
WHERE IF(gallery_photo.main IS NOT NULL, gallery_photo.main = 1, 1)
0
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 4
18.06.2013, 16:43  [ТС] 3
Даже на выбор)) Спасибо большое, выручили, неделю думал над этим, а оказывается так просто))
0
18.06.2013, 16:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.06.2013, 16:43
Помогаю со студенческими работами здесь

Выбор связей таблиц
Всем доброго времени суток. Столкнулся с дилеммой, затрудняюсь в выборе связей сущностей: Имею...

Выбор данных из нескольких таблиц
Добрый вечер ! Как можно организовать выбор (Какими директивами SQL) из нескольких таблиц при...

Объединение двух таблиц
Здравствуйте! Прошу помочь разобраться в этой путанице. В mysql я разбираюсь не так хорошо, как...

Слияние двух таблиц
Подскажите как объединить данные двух таблиц в одну, что бы в итоге получилась таблица из четырёх...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru