Xpoint
   [напомнить пароль]

Запрос с объединением 2х таблиц

Метки: [без меток]
2006-09-17 14:56:55 [обр] Михаил(0/17)[досье]

#rubriks#
id_rubr | nazvanie | open
1 | nazvanie_rubriki | Y
2 | nazvanie_rubriki2 | Y
3 | nazvanie_rubriki3 | Y

#users_rubr#
id_user | id_rubr
1 | 2
1 | 3
2 | 1
2 | 3

Нужен запрос, который бы выводил все рубрики, и те рубрики на которые подписан пользователь как либо помечались.
Я делаю запрос:
SELECT rubr.id_rubr, rubr.nazvanie, rubr.open, IF(rubr.id_rubr=ur.id_rubr) FROM rubriks rubr, users_rubr ur WHERE rubr.id_rubr=ur.id_rubr
Но он мне выводит данные которые дублируются...:
id_rubr | navvanie | open | IF(...)
5, zzzz, Y, 0,
5, zzzz, Y, 1,
6, Рубрика нумер два, Y, 0,
6, Рубрика нумер два, Y, 0,
7, Рубрика нумер два, Y, 1,
7, Рубрика нумер два, Y, 0,

Подскажите пожалуйста, как сделать правильно, чтобы данные не дублировались, и в результате были все рубрики помеченные, подписан на них указанный пользователь или нет?
Заранее большое спасибо.

спустя 58 минут [обр] Кирилл [Kirk] Королев(88/673)[досье]
where id_user=ид_юзера
спустя 3 минуты [обр] Михаил(0/17)[досье]
Я что-то непонял.
У меняже id_user есть только в одной таблице?
спустя 3 часа 43 минуты [обр] Кирилл [Kirk] Королев(88/673)[досье]
select a.*,if(b.id_user is null,'Не подписан','Подписан') from rubriks a left outer join users_rubr b on a.id_rubr=b.id_rubr and b.id_user=1234
спустя 2 часа 33 минуты [обр] Михаил(0/17)[досье]
Большое спасибо.
Работает, вот только если чесно, то непонял как оно работает, если не сложно, можно в двух словах, или на какойнить русский понятный док? :)
спустя 54 минуты [обр] Владимир Михайленко(0/33)[досье]
спустя 11 часов [обр] Кирилл [Kirk] Королев(88/673)[досье]
Если по-русски - то выбрать все рубрики из rubriks, и для каждой рубрики - запись из users_rubr, совпадающей по ИД рубрики и имеющей заданный ИД пользователя.
Powered by POEM™ Engine Copyright © 2002-2005