Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> уникальные значения
masterlelik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 96
Пользователь №: 1297
На форуме: 9 лет, 9 месяцев, 21 день
Карма:




Добрый вечер.

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

Обычный 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?




--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Ron  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1042
Пользователь №: 41686
На форуме: 1 год, 3 месяца, 25 дней
Карма: 13




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


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


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

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


--------------------
Жду 5.11.2017
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5491
Пользователь №: 35718
На форуме: 4 года, 14 дней
Карма: 167




Цитата (masterlelik @ 7.05.2016 - 21:31)
На выходе получаю уникальные пары:
1, 50
1, 57
3, 50
3, 57

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

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


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
masterlelik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Пользователь
**

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 96
Пользователь №: 1297
На форуме: 9 лет, 9 месяцев, 21 день
Карма:




Цитата (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


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

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

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


--------------------
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса