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

Форум MySQL

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

 

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

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

тема: объединение одной и той же таблицы
 
 автор: Slo_Nik   (01.11.2011 в 18:20)   письмо автору
 
 

Добрый день.
Пожалуйста, помогите довести до ума запрос или подскажите правильное решение.
Есть таблица, в которой хранятся "вакансии" и "резюме"
Надо сделать :
1) Подсчитать кол-во вакансий и резюме по отдельности
2)Вывести последние пять вакансий и резюме
Попробовал сделать такой запрос

<?php
/* этот запрос считает кол-во "вакансий" и "резюме" по отдельности
   будет вложен во второй запрос */
$dr_query "SELECT `direction` AS `direc`,
                         COUNT(`direction`) AS `Tdirec`
                           FROM "
.$table_vr."
                       WHERE `status` = 'show'    
                 GROUP BY `direction`"
;
/* результат работы запроса
Array
(
    [direc] => вакансия
    [Tdirec] => 7  // общее кол-во вакансий
)

Array
(
    [direc] => резюме
    [Tdirec] => 4 // общее кол-во резюме
) */

/* этот запрос получает необходимые записи в таблице, в него вложен запрос $dr_query.
   надо изменить этот запрос так, чтобы когда будет выведено 5 последних "вакансий"
   начался вывод 5 последних резюме */
$vr_query "SELECT `vr`.`id_vr` AS `id_vr`,
                                        `vr`.`subsection` AS `vr_submain`,
                                        `vr`.`direction` AS `vr_direc`,                        
                                       `dr`.`Tdirec`
                          FROM ("
.$dr_query.") AS `dr`
                  LEFT JOIN "
.$table_vr." AS `vr` ON(`vr`.`direction` = `dr`.`direc`)
                      WHERE `vr`.`status` = 'show' 
                ORDER BY `vr`.`direction`, `vr`.`id_vr` DESC "
;
/* пока результат работы скрипта такой (это часть вывода, не вся...)
Array
(
    [id_vr] => 6
    [vr_submain] => фотограф
    [vr_direc] => вакансия
    [Tdirec] => 7
)

Array
(
    [id_vr] => 4
    [vr_submain] => корреспондент
    [vr_direc] => вакансия
    [Tdirec] => 7
)

Array
(
    [id_vr] => 30
    [vr_submain] => Не указана.
    [vr_direc] => резюме
    [Tdirec] => 4
)

Array
(
    [id_vr] => 27
    [vr_submain] => Не указана.
    [vr_direc] => резюме
    [Tdirec] => 4
)*/
?>

Если применить LIMIT, то естественно выведет только 5 "вакансий" и всё, а мне надо 5 "вакансий" и 5 "резюме".
Подскажите, как решить эту задачу?

  Ответить  
 
 автор: cheops   (01.11.2011 в 18:23)   письмо автору
 
   для: Slo_Nik   (01.11.2011 в 18:20)
 

А какова структура таблицы $table_vr и чем вакансии отличаются от предложений?

  Ответить  
 
 автор: Slo_Nik   (01.11.2011 в 18:29)   письмо автору
2.8 Кб
 
   для: cheops   (01.11.2011 в 18:23)
 

Что бы не растягивать сообщение, файл со структурой таблицы прикрепил...

>и чем вакансии отличаются от предложений?

ни чем, кроме как значение поля `direction`, остальные поля одинаковы, в зависимости от того, как будет помечено объявление ("вакансия" или "резюме") будут заполняться поля таблицы

p.s. что бы читать комментарии в файле со структурой надо поменять кодировку в браузере на utf-8

  Ответить  
 
 автор: Slo_Nik   (01.11.2011 в 19:26)   письмо автору
7.3 Кб
 
   для: cheops   (01.11.2011 в 18:23)
 

вот ещё дамп с данными )))

  Ответить  
 
 автор: Slo_Nik   (02.11.2011 в 16:00)   письмо автору
 
   для: Slo_Nik   (01.11.2011 в 18:20)
 

Подскажите кто нибудь, возможно ли такое сделать?
Или как правильно сделать?

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

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