Не работает sql запрос в сниппете со следующим текстом:
--------------------------------
SELECT t1.name AS town,
content_type_tours.field_price_value AS price,
t2.name AS country
FROM
content_type_tours
Inner Join term_data AS t1 ON content_type_tours.field_country_value = t1.tid
Inner Join term_hierarchy ON t1.tid = term_hierarchy.tid
Left Join term_data AS t2 ON term_hierarchy.parent = t2.tid
WHERE
(DATE_FORMAT(STR_TO_DATE(content_type_tours.field_datebeg_value, '%Y-%m-%dT%T'), '%Y-%m-%d')>'2010-12-12')
------------------------------------
Причем проблема похоже именно из-за "WHERE": когда его нет, все работает замечательно.
Более того, данный запрос прекрасно работает в других программах, в частности в Navicat, а в друпале почему-то не хочет.
Самое интересное, что where я полностью списал из фильтра во views, естественно заменив поля и таблицы на нужные.
Отвечаю на возможный вопрос, почему не использую views. Этот sql запрос не полный, туда будет добавлены функции агрегирования, с которыми во views проблемы, по крайней мере я не нашел способ заставить работать view_calc так, как мне нужно.
Где копать? В друпале новичок.
Комментарии
Копать в API, читать про заполнители
RxB, спасибо! %d надо было заменить на %e.
Все заработало!
точно проверял? Работает - это ни когда ошибок нет, а когда еще и результат верный. Все таки эти заполнители в mysql разный смысл имеют.
Т.е. проверь результат запроса из navicat и из друпала.
Вообще, правильно наверно - (%Y-%m-%d)передавать параметром в db_query, а в запросе для него заполнитель %s.