Resurs
Новичок
Выборка из базы уникальных значений по нескольким параметрам
День добрый.
Проблема такая.
Есть таблица содержащая данные о клиентах
id | name | notice | year | big_im | sm_im
В нее соответственно заносятся данные -
название компании, описание сделанной работы, год , в которм эта работа была выполнена, большой рисунок и превьюшка к нему.
Для одного клиента может быть несколько выполненных работ как в один и тот же год, так и в разные года
(например, для клиетна1 в2003 г. - 4 проекта, в 2002- 1, а в 2000 -5
для клиетна2 в 2003 г. - 2 проекта, в 2002- 2, а в 2000 -2
для клиетна3 в 2002- 2, в 2000 -2).
На странице где выводятся списки клиентов сделана разбивка по годам - т.е для 2003 будет выведен список из 2 клиентов (хотя записей для 2003 года - 6), а для 2002 из 3-х(всего 5 строк).
Собственно проблема в том, что для каждой позици в таблице описание с картинками может быть, а может и не быть.
Если есть хоть одно описание с картинкой для клиента за этот год, позиция выводится как ссылка на страницу с подробным описанием и списком всех работ для этого клиента за все года с превью, если нет то просто его(клиента) название.
О путях решения.
Пробовал делать так:
Но такой запрос не дает гарантии, что будут выведены только записи с описаниями. DISTINCT работает почти аналогично.
Введение условия
, соответсвенно отрезает клиентов для которых нет описаний в данном году ни в одном проекте.
Можно ли еще на этапе выборки из базы отсортировать данные по условию наличия/отсутсвия описания и вывести 1 любую запись с описанием для данного года и клиента, а если таковых не нашлось, любую запись без описания для данного года и клиента соответсвенно.
Все это наверно слишком путанно описано, но в голова уже опухла и нифига не соображает. Помогите пож. кто чем может.
PHP4.0 mySQL 3.23.54
День добрый.
Проблема такая.
Есть таблица содержащая данные о клиентах
id | name | notice | year | big_im | sm_im
В нее соответственно заносятся данные -
название компании, описание сделанной работы, год , в которм эта работа была выполнена, большой рисунок и превьюшка к нему.
Для одного клиента может быть несколько выполненных работ как в один и тот же год, так и в разные года
(например, для клиетна1 в2003 г. - 4 проекта, в 2002- 1, а в 2000 -5
для клиетна2 в 2003 г. - 2 проекта, в 2002- 2, а в 2000 -2
для клиетна3 в 2002- 2, в 2000 -2).
На странице где выводятся списки клиентов сделана разбивка по годам - т.е для 2003 будет выведен список из 2 клиентов (хотя записей для 2003 года - 6), а для 2002 из 3-х(всего 5 строк).
Собственно проблема в том, что для каждой позици в таблице описание с картинками может быть, а может и не быть.
Если есть хоть одно описание с картинкой для клиента за этот год, позиция выводится как ссылка на страницу с подробным описанием и списком всех работ для этого клиента за все года с превью, если нет то просто его(клиента) название.
О путях решения.
Пробовал делать так:
PHP:
$result = mysql_query("SELECT * FROM clients WHERE year ='$year' GROUP BY name ORDER BY id DESC")
Введение условия
PHP:
notice ='$notice'
Можно ли еще на этапе выборки из базы отсортировать данные по условию наличия/отсутсвия описания и вывести 1 любую запись с описанием для данного года и клиента, а если таковых не нашлось, любую запись без описания для данного года и клиента соответсвенно.
Все это наверно слишком путанно описано, но в голова уже опухла и нифига не соображает. Помогите пож. кто чем может.
PHP4.0 mySQL 3.23.54