Mysql запрос, что не так

Главные вкладки

Аватар пользователя wanders.32 wanders.32 15 мая 2008 в 14:01

к конкретно друпалу отношения не имеет, мне больше для себя понять.
есть иерархия, homes - принадлежит к какому-то neighborhoods, neighborhoods к какому-то community. задача : выбрать названия community и neighborhoods , которые связаны с конкретным homes. Вот, в общем запрос: Но, он выдает 1 коммунити (правильно), и 3 одинаковых записи neighborhoods (нах 3, они же одинаковые?). я, конечно, дописал, GROUP BY n.nid, стало все правильно - 1 запись community, 1 neighborhoods. но почему без него выдает 3 neighborhoods? что в запросе не так?

SELECT n.title, n.nid, n.type FROM node AS n, content_type_homes AS cth, content_type_neighborhoods AS ctn WHERE (ctn.field_community_nid = n.nid AND ctn.nid = cth.field_neighborhood_nid) OR (cth.field_neighborhood_nid = n.nid AND cth.nid = 39)

Комментарии

Аватар пользователя mityok mityok 15 мая 2008 в 19:12

SELECT DISTINCT (n.title, n.nid, n.type) FROM node AS n, content_type_homes AS cth, content_type_neighborhoods AS ctn WHERE (ctn.field_community_nid = n.nid AND ctn.nid = cth.field_neighborhood_nid) OR (cth.field_neighborhood_nid = n.nid AND cth.nid = 39)