Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте. Может вопрос и ламерский совсем, но решить пока что не могу.
1) есть таблица "spec" поля spec.id и spec.name. В ней хранятся названия медицинских специальностей.
2) есть таблица lpu (лечебно-проф учреждения). поля аналогичные - айди и название
3) есть таблица person - список врачей. поля - person_id, name, spec_id, lpu_id
Задача:
вывести без повторений все специальности которые представлены в данной ЛПУ.
предположим что я где то получил код нужной мне ЛПУ в $lpu_id
как делаю:
$query_spec = "SELECT spec.id, spec.name as spec_name FROM spec INNER JOIN person ON spec.id = person.spec_id WHERE person.lpu_id = $lpu_id";
Но при таком запросе если например в ЛПУ 2 человека с одной специальностью, то результат выведет 2 раза название специальности.
т.е. в ЛПУ допустим
аллерголог - Ирина
аллерголог - Анна
(в результате моего запроса 2 раза Аллерголог выведется).
Пробовал ставить DISTINCT к spec.name - не помогает.
Неактивен
всё. решил вопрос. просто не дописал. я помимо spec.name выводил ещё person.name, т.е.
$query_spec = "SELECT DISTINCT spec.id, spec.name as spec_name, person.name as person_name FROM spec INNER JOIN person ON spec.id = person.spec_id WHERE person.lpu_id = $lpu_id";
убрал вывод записи из присоединяемой таблицы - заработало.
т.е. я так понял что DISTINCT работает не к конкретной ячейки, а к выводимой строке?
Неактивен
Да, DISTINCT влияет на всю выборку целиком.
Неактивен