Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите составить двухтабличный запрос
 
 автор: t3ma   (31.12.2009 в 14:40)   письмо автору
 
 

нужно вывести 5 строк таблицы chels с условием чтобы id = '$value' и отсортированные по comm_date таблицы news
где news_sender = $value в таблицы news

что-то на подобие.))
SELECT * FROM chels WHERE id = '$value' ORDER BY comm_date DESC LIMIT 5

пробовал так. не выходит)
SELECT * FROM chels JOIN news WHERE chels.id = '$value' AND news.news_sender = '$value' ORDER BY news.comm_date DESC LIMIT 5


ума не хватает сделать правильно :)

  Ответить  
 
 автор: cheops   (31.12.2009 в 15:25)   письмо автору
 
   для: t3ma   (31.12.2009 в 14:40)
 

А таблицы news и chels как связаны между собой?

  Ответить  
 
 автор: t3ma   (31.12.2009 в 20:17)   письмо автору
 
   для: cheops   (31.12.2009 в 15:25)
 

chels это таблица пользователей
news это таблица блогов (постов)

мне требуется выбрать записи из chels только 5, отсортированые в порядке убывания по последней активности в блоге этого пользователя

CREATE TABLE IF NOT EXISTS `news` (
`news_id` int(100) NOT NULL auto_increment,
`news_sender` int(100) NOT NULL,
`news_title` varchar(300) NOT NULL,
`news_text` text NOT NULL,
`news_date` timestamp NOT NULL default CURRENT_TIMESTAMP,
`news_views` int(100) NOT NULL,
`news_rate` int(100) NOT NULL,
`subscriber` int(100) NOT NULL,
`indexpub` int(1) NOT NULL default '0',
`comm_date` timestamp NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`news_id`),
FULLTEXT KEY `news_text` (`news_text`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=208 ;

news_sender это id пользователя из таблицы chels
а comm_date это дата последней активности поста (редактирвали, или что-то еще)

  Ответить  
 
 автор: cheops   (01.01.2010 в 22:30)   письмо автору
 
   для: t3ma   (31.12.2009 в 20:17)
 

Попробуйте использовать следующий запрос
SELECT * FROM chels JOIN news ON (chels.id = news.news_sender)
WHERE chels.id = '$value' AND news.news_sender = '$value'
ORDER BY news.comm_date DESC
LIMIT 5

  Ответить  
 
 автор: t3ma   (02.01.2010 в 08:39)   письмо автору
 
   для: cheops   (01.01.2010 в 22:30)
 

огромное спасибо !!!

  Ответить  
 
 автор: t3ma   (01.01.2010 в 17:03)   письмо автору
 
   для: cheops   (31.12.2009 в 15:25)
 

cheops, помогите пожалуйста :)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования