Выбор из двух таблиц MySQL с сортировкой по дате

B1ackGh0st

Новичок
Всем привет.

Помогите выбрать из двух MySQL таблиц записи кторые удовлетворяют условию

t1.col2 = 3
t2.col2 = 3

и сортировать это все по дате

table1

| col1 | col2 |
| 1 | 3 |
| 2 | 5 |
| 3 | 3 |

table2

| col1 | col2 |
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Ну, делаешь выборку с таблицы 1, потом union выборки с таблицы 2, обе сортированные по дате.
 

B1ackGh0st

Новичок
Простите, немного не так написал

Помогите выбрать из table1 записи кторые table1.col2=3 и table2.col2 = 3 с сортировкой по дате
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
B1ackGh0st, по какому принципу должны соединиться записи из table1 и table2, по полю col1?
 

B1ackGh0st

Новичок
есть таблица постов
и есть таблица связей пользователей
так вот вывести из таблицы постов записи самого пользователя и друзей (таблица связей пользователей)
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
B1ackGh0st, давай ты ответишь на мой вопрос, да, или нет. А абстрактные вопросы связей посты-пользователи оставим, ок?
 

B1ackGh0st

Новичок
--
-- Структура таблицы `post`
--

CREATE TABLE IF NOT EXISTS `post` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`user_id` int(255) NOT NULL,
`text` varchar(255) NOT NULL,
`del` int(1) NOT NULL DEFAULT '0',
`date` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;

--
-- Дамп данных таблицы `post`
--

INSERT INTO `post` (`id`, `user_id`, `text`, `del`, `date`) VALUES
(1, 8, 'текст', 0, '1402351324'),
(2, 3, 'текст', 0, '1402351324'),
(3, 7, 'текст', 0, '1402351324'),
(4, 8, 'текст', 0, '1402351324'),
(5, 3, 'текст', 0, '1402351324'),
(6, 7, 'текст', 0, '1402351324'),
(7, 8, 'текст', 0, '1402351324');

--
-- Структура таблицы `subscribe`
--

CREATE TABLE IF NOT EXISTS `subscribe` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`subscribe_id` int(255) NOT NULL,
`subscribe_user_id` int(255) NOT NULL,
`subscribe_date_add` varchar(255) NOT NULL,
`subscribe_del` int(1) NOT NULL DEFAULT '0',
`subscribe_del_date` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;

--
-- Дамп данных таблицы `subscribe`
--

INSERT INTO `subscribe` (`id`, `subscribe_id`, `subscribe_user_id`, `subscribe_date_add`, `subscribe_del`, `subscribe_del_date`) VALUES
(1, 2, 1, '1402351203', 0, NULL),
(2, 8, 2, '1402351216', 0, NULL),
(3, 4, 3, '1402351224', 0, NULL),
(4, 5, 4, '1402351236', 0, NULL),
(5, 8, 5, '1402351244', 0, NULL),
(6, 7, 6, '1402351254', 0, NULL),
(7, 8, 1, '1402351261', 0, NULL),
(8, 9, 8, '1402351270', 0, NULL),
(9, 1, 8, '1402381129', 0, NULL);

-- --------------------------------------------------------

по какому принципу должны соединиться записи из table1 и table2, по полю col1?
subscribe_id
 
Последнее редактирование:

AnrDaemon

Продвинутый новичок
Ну вот и объединяй
subscribe LEFT JOIN post ON post.id = subscribe.subscribe_id
Если жто правильные id.
 

B1ackGh0st

Новичок
Ну вот и объединяй
subscribe LEFT JOIN post ON post.id = subscribe.subscribe_id
Если жто правильные id.

Мне надо вывести из таблицы post все записи которые относятся к данному юзеру и все записи тех юзеров кого он читает. Кого он читает нужно смотреть в таблице subscribe

subscribe_user_id => Пользователь
subscribe_id => Кого читает
 

AnrDaemon

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

B1ackGh0st

Новичок
SELECT * FROM post p LEFT JOIN subscribe s ON p.user_id = s.subscribe_user_id WHERE p.user_id='$user_id' ORDER BY date DESC
 

AnrDaemon

Продвинутый новичок
А тебе совершенно точно нужны ВСЕ колонки?
Правило #1: Запрашивать из базы только ту информацию, которая тебе нужна.
 
Сверху