[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод уникальных строк
torrenton
Добрый вечер!
Подскажите как написать запрос, чтобы выводил уникальные строки их всего множества выводимых строк.
Ниже запрос, который выводит/формирует множество дубликатов, как его изменить?:

$sql="
SELECT * FROM `abonent`
JOIN `country` ON `abonent`.`gorod` = `country`.`country_id`
JOIN `region` ON `abonent`.`street` = `region`.`region_id`
JOIN `city` ON `abonent`.`house` = `city`.`city_id`
JOIN `dist` ON `abonent`.`dist` = `dist`.`dist_id`"
;




Спустя 10 часов, 57 минут, 53 секунды (27.08.2012 - 10:37) inpost написал(а):
Используй DISTINCT

Спустя 27 минут, 20 секунд (27.08.2012 - 11:04) torrenton написал(а):
Цитата (inpost @ 27.08.2012 - 11:37)
Используй DISTINCT

Хорошо. Я написал
$sql="SELECT DISTINCT * FROM `abonent`
JOIN `country` ON `abonent`.`gorod` = `country`.`country_id`
JOIN `region` ON `abonent`.`street` = `region`.`region_id`
JOIN `city` ON `abonent`.`house` = `city`.`city_id`
JOIN `dist` ON `abonent`.`dist` = `dist`.`dist_id`";

- выводит так же все строки с дубликатами
Если:

$sql="SELECT DISTINCT id FROM `abonent`
JOIN `country` ON `abonent`.`gorod` = `country`.`country_id`
JOIN `region` ON `abonent`.`street` = `region`.`region_id`
JOIN `city` ON `abonent`.`house` = `city`.`city_id`
JOIN `dist` ON `abonent`.`dist` = `dist`.`dist_id`";

то выводит таблицу с уникальными записями id, но остальные значения колонок пусты, а нужно чтобы, они были заполнены

Спустя 3 часа, 39 минут, 8 секунд (27.08.2012 - 14:43) torrenton написал(а):
Цитата (torrenton @ 27.08.2012 - 12:04)
Цитата (inpost @ 27.08.2012 - 11:37)
Используй DISTINCT

Хорошо. Я написал
$sql="SELECT DISTINCT * FROM `abonent`
JOIN `country` ON `abonent`.`gorod` = `country`.`country_id`
JOIN `region` ON `abonent`.`street` = `region`.`region_id`
JOIN `city` ON `abonent`.`house` = `city`.`city_id`
JOIN `dist` ON `abonent`.`dist` = `dist`.`dist_id`";

- выводит так же все строки с дубликатами
Если:

$sql="SELECT DISTINCT id FROM `abonent`
JOIN `country` ON `abonent`.`gorod` = `country`.`country_id`
JOIN `region` ON `abonent`.`street` = `region`.`region_id`
JOIN `city` ON `abonent`.`house` = `city`.`city_id`
JOIN `dist` ON `abonent`.`dist` = `dist`.`dist_id`";

то выводит таблицу с уникальными записями id, но остальные значения колонок пусты, а нужно чтобы, они были заполнены

Все спасибо, решил сам:

$sql="select * FROM `abonent`
JOIN `country` ON `abonent`.`gorod` = `country`.`country_id`
JOIN `region` ON `abonent`.`street` = `region`.`region_id`
JOIN `city` ON `abonent`.`house` = `city`.`city_id`
JOIN `dist` ON `abonent`.`dist` = `dist`.`dist_id` GROUP BY id";

Добавил GROUP BY id
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.