mysql DISTINCT выборка из двух таблиц

Автор kak2z, 19 ноября 2012, 21:07:52

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

kak2z

Есть две таблицы rec_recipe и smf_members.
Надо с таблицы rec_recipe из поля id_member взять все уникальные значения и в тоже время взять из таблицы smf_members данные соответствующие id_member в таблице  rec_recipe.
(в общем надо взять из первой таблицы уникальные ИД пользователей и тут же получить данные этих же пользователей из таблицы smf_members)
Пытаюсь сделать такую конструкцию:

SELECT DISTINCT rec_recipe.id_member
FROM  rec_recipe, smf_members
WHERE  smf_members.id_member = rec_recipe.id_member
LIMIT 0 , 30


не получается))) что не так делаю?)
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)

Жека

Не помню точно синтаксис майскуля, но что-то в этом роде:

SELECT rec_recipe.id_member, smf_members.*
FROM  rec_recipe LEFT JOIN smf_members ON rec_recipe.id_member = smf_members.id_member
WHERE rec_recipe.id_member IN (SELECT DISTINCT rec_recipe.id_member FROM rec_recipe)
LIMIT 0 , 30


kak2z

#2
Спасибо.. но что то чуть чуть не то...
показывает все данные по каждому полю из rec_recipe...  но DISTINCT почему то не срабатывает..
надо взять уникальные значение из rec_recipe и соотнести их данным из smf_members

если более предметно то rec_recipe - список рецептов где есть поле id_member
надо из этой таблицы взять тех кто оставлял когда либо рецепт (выбрать уникальные значения) и сразу же взять данные этих пользователей из smf_members

а тот запрос что Вы мне подсказали выводит все рецепты почемуто... хотя DISTINCT  присутствует)
Спасибо))

Вы меня подтолкнули в правильном направлении)) Ваш запрос был практически правильный...
SELECT DISTINCT rec_recipe.id_member, smf_members . *
FROM rec_recipe
LEFT JOIN smf_members ON rec_recipe.id_member = smf_members.id_member
WHERE rec_recipe.id_member
IN (
SELECT DISTINCT rec_recipe.id_member
FROM rec_recipe
)
ORDER BY  `smf_members`.`real_name` ASC
LIMIT 0 , 30


спасибо)
Если нужно что то исправить, обновить, переставить, настроить, сделать форум заново - пишите в ЛС)