[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: уникальные значения
masterlelik
Добрый вечер.

Каким образом можно выбрать уникальные значения нескольких полей из нескольких таблиц.

Обычный group by выдает уникальные связки, но не значения, например

select `t1`.`food_id`, `t2`.`country_id` from `t_tours` `t1`, `t_tour_country` `t2` where `t1`.`id`=`t2`.`tour_id` and group by `t1`.`food_id`, `t2`.`country_id`

На выходе получаю уникальные пары:
1, 50
1, 57
3, 50
3, 57

А вот как получить один раз единицу и тройку для food_id и по одному разу 50 и 57 для country_id?




_____________
Ron
Если правильно понял задачу конечно... Я бы через подзапрос сделал.


SELECT t1.food_id,
t2.country_id
FROM t_tours AS t1
INNER JOIN
(SELECT country_id,
tour_id
FROM t_tour_country
GROUP BY country_id) AS t2
ON t1.id = t2.tour_id
GROUP BY t1.food_id


Примерно так, я не знаю сработает нет, не проверял. Тут главное идея. Со своими таблицами/полями сам разбирайся ;)

И пожалуйста, пиши служебные конструкции заглавными, или хоть перенос строк делай, хоть что-нибудь. Лучше и то и другое, конечно. =) А то читать твой запрос анриал.
Valick
Цитата (masterlelik @ 7.05.2016 - 21:31)
На выходе получаю уникальные пары:
1, 50
1, 57
3, 50
3, 57

А вот как получить один раз единицу и тройку для food_id и по одному разу 50 и 57 для country_id?

хотелось бы увидеть как вы себе это представляете, напишите такой же столбик с цифрами желаемого результата

_____________
Стимулятор ~yoomoney - 41001303250491
masterlelik
Цитата (Ron @ 7.05.2016 - 19:06)
Если правильно понял задачу конечно... Я бы через подзапрос сделал.


SELECT t1.food_id,
t2.country_id
FROM t_tours AS t1
INNER JOIN
(SELECT country_id,
tour_id
FROM t_tour_country
GROUP BY country_id) AS t2
ON t1.id = t2.tour_id
GROUP BY t1.food_id


Примерно так, я не знаю сработает нет, не проверял. Тут главное идея. Со своими таблицами/полями сам разбирайся ;)

И пожалуйста, пиши служебные конструкции заглавными, или хоть перенос строк делай, хоть что-нибудь. Лучше и то и другое, конечно. =) А то читать твой запрос анриал.

Большое спасибо, то что надо, ни одного дубликата.
Насчет совета, постараюсь впредь придерживаться:)

_____________
Быстрый ответ:

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