Помогите с запросом

Статус
Закрыто для дальнейших ответов.

Feast

Well-Known Member
Регистрация
12.05.2011
Сообщения
60
Добрый день! Сломал голову, не понял как одним запросом всё сделать...
Вобщем есть табличка с событиями приходов пациентов. В ней поля name date
Так вот задача из этой таблички выбрать данные таким образом:
1) Вывести все данные сортируя по дате по возрастанию
2) Если встречается пациент, информация о котором хранится в таблице в нескольких записях - вывести их подряд
Т.е. пример:
Есть таблица:
Галя 2010-18-03
Миша 2010-18-01
Света 2010-18-04
Семен 2010-18-04
Катя 2010-18-03
Галя 2010-18-15
Галя 2010-18-12
Миша 2010-18-24

И выборка должна выдать строки в таком порядке:
Миша 2010-18-01
Миша 2010-18-24
Галя 2010-18-03
Галя 2010-18-12
Галя 2010-18-15
Катя 2010-18-03
Света 2010-18-04
Семен 2010-18-04

Т.е. они как бы скучкованы по имени и отсортированы эти кучки по дате самой ранней записи.
Буду очень благодарен, если кто-нибудь поможет с запросом.
 

ALEXu

в сером
Регистрация
29.12.2010
Сообщения
307
Код:
order by name asc, date desc
 

Feast

Well-Known Member
Регистрация
12.05.2011
Сообщения
60
К сожалению, такой вариант не работает(( Даты путаются.
 

ALEXu

в сером
Регистрация
29.12.2010
Сообщения
307
Какой тип поля у даты?
 

Feast

Well-Known Member
Регистрация
12.05.2011
Сообщения
60
Date

Вобщем срочность повысилась, пришлось через php всё раскидать как нужно(( Но вопрос на интерес остался)
 

ALEXu

в сером
Регистрация
29.12.2010
Сообщения
307
SELECT запрос в студию.
 

Feast

Well-Known Member
Регистрация
12.05.2011
Сообщения
60
select t.start_date,ts.*,sp.price from ticket_services ts JOIN tickets t ON t.id = ts.id_ticket JOIN patients p ON p.id = t.id_patient JOIN service_prices sp ON sp.id_service = ts.id_service where ts.id in (select id_tick_serv from account_tick_servs where id_account = 17863) AND sp.id_price_type = 10 ORDER BY t.start_date, p.last_name

Ну из всего этого мне вот t.start_date и p.last_name важно было для сортировки.
Ну и я вобщем в PHP распихал все строки в группки по пациентам и замерджил. Прямо срочно срочно просили - это первое, что в голову пришло.

foreach($services as $serv)
{
$groups[$serv['pid']][] = $serv;
}
$servs = array();
foreach($groups as $group)
{
$servs = array_merge($servs,$group);
}
 
Статус
Закрыто для дальнейших ответов.
Верх Низ