к конкретно друпалу отношения не имеет, мне больше для себя понять.
есть иерархия, homes - принадлежит к какому-то neighborhoods, neighborhoods к какому-то community. задача : выбрать названия community и neighborhoods , которые связаны с конкретным homes. Вот, в общем запрос: Но, он выдает 1 коммунити (правильно), и 3 одинаковых записи neighborhoods (нах 3, они же одинаковые?). я, конечно, дописал, GROUP BY n.nid, стало все правильно - 1 запись community, 1 neighborhoods. но почему без него выдает 3 neighborhoods? что в запросе не так?
Mysql запрос, что не так
Главные вкладки
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)
Комментарии
а что от друпала требуется? возможно есть более элегантное решение?
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)
благодарю! сейчас полезу смотреть, что такое distinct)) я, конечно, догадываюсь, но хотелось бы узнать..:)