Я делаю персонализированный запрос в Data Studio, который изначально был сделан в mysql, но у меня была следующая ошибка, когда я использую одно из полей результата.
Ошибка с оператором SQL: в синтаксисе SQL возникла ошибка; проверьте руководство, соответствующее вашей версии сервера MariaDB, для правильного синтаксиса для использования рядом с '> =' 20200301 'AND <=' 20200331 ')' в строке 34 </p>
Это запрос и поле с ошибкой это pm.meta_value, которое связано с pm.meta_key:
SELECT
p.ID as código,
p.post_title,
pm.meta_value,
entidad.name,
CASE WHEN tv.URL != ''
THEN 'SI'
ELSE 'NO'
END,
t.name,
tv.URL,
p.post_date
FROM wp_posts p
LEFT JOIN wp_postmeta pm on p.ID = pm.post_id
LEFT JOIN wp_term_relationships rs ON p.ID=rs.object_id
LEFT JOIN wp_term_taxonomy tt ON rs.term_taxonomy_id = tt.term_taxonomy_id
INNER JOIN wp_terms AS t ON tt.term_id = t.term_id
LEFT JOIN (select p.ID, pm.meta_value as URL FROM wp_posts p
LEFT JOIN wp_postmeta pm on p.ID = pm.post_id
where pm.meta_key in ('test')
and pm.meta_value != ''
) as tv on p.ID = tv.ID
INNER JOIN (select p.ID, t.name name, tt.taxonomy taxonomy FROM wp_posts p
LEFT JOIN wp_term_relationships rs ON p.ID=rs.object_id
LEFT JOIN wp_term_taxonomy tt ON rs.term_taxonomy_id = tt.term_taxonomy_id
INNER JOIN wp_terms AS t ON tt.term_id = t.term_id
) as entidad on p.ID = entidad.ID
WHERE p.post_type ='test1'
AND p.post_status = 'test2'
AND pm.meta_key = 'test3'
AND entidad.taxonomy = 'test4'
AND (tt.term_id = 15 OR
tt.term_id = 174 OR
tt.term_id = 1960);