Подскажите как написать запрос, чтобы выводил уникальные строки их всего множества выводимых строк.
Ниже запрос, который выводит/формирует множество дубликатов, как его изменить?:
$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) | ||
Хорошо. Я написал $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