Я пишу модуль drupal, и мне нужно написать запрос, который возвращает определенные строки одной из моих таблиц content_type. Мой запрос до сих пор:
SELECT DISTINCT pb.*, f.filepath FROM {content_type_promo_box} pb LEFT JOIN {files} f ON pb.field_promo_image_fid = f.fid
Когда я работал, я понял, что таблица не только содержит каждое поле cck этого типа содержимого, она также содержит несколько версий для каждого поля. Как ограничить мой запрос строками, которые содержат только значения для текущих версий узлов?
ОБНОВЛЕНИЕ: мне нужно немного уточнить мой вопрос. Я уже шел по пути просмотра, и я действительно думал об использовании node_load (спасибо за ответ, Джереми!). На самом деле, мой вопрос больше о том, как написать соответствующий оператор SQL, чем конкретно о drupal. Я хочу только вернуть строки, которые содержат последние версии (vid является наибольшим) для любого конкретного узла (nid). Итак, вот пример:
-------------
| nid | vid |
-------------
| 45 | 3 |
| 23 | 5 |
| 45 | 9 |
| 23 | 12 |
| 45 | 36 |
| 33 | 44 |
| 33 | 78 |
-------------
Мой запрос должен вернуть следующее:
-------------
| nid | vid |
-------------
| 23 | 12 |
| 45 | 36 |
| 33 | 78 |
-------------
Имеет смысл? Спасибо!