Имея некоторые проблемы при получении моих здесь вокруг этого запроса & интересно, если кто может помочь:MySQL Query, как выбрать данные на основе условия в другой записи в одной таблице?
Я пытаюсь выбрать все tvv.value [ы] от modx_site_tmplvar_contentvalues где tvv.tmplvarid = 1 и Т. Значение tvv.tmplvarid = 3 - это дата, которая больше или равна сегодняшнему значению.
Таким образом, каждый опубликованный файл modx_site_content.id, имеющий родительский элемент «24», будет иметь как минимум 2 записи в таблице modx_site_tmplvar_contentvalues с tmplvarid из «1», значение которого будет разделяемым запятой, а другое с tmplvarid '3', который будет datestamp.
Мне нужно выбрать все значения из таблицы modx_site_tmplvar_contentvalues, где tmplvarid - «1» [список, разделенный запятой], где вторая запись tmplvarid равна «3» - это дата, которая больше, чем сегодня, и условия modx_site_content опубликованы = '1' и родительскими = '24'
Вот мой запрос [который не работает]
SELECT sc.id, sc.pagetitle, tvv.value, tvv.tmplvarid, tvv.id
FROM modx_site_content sc
left join modx_site_tmplvar_contentvalues tvv on tvv.contentid = sc.id
where published = '1'
and parent = '24'
and (tvv.tmplvarid = '3' or tvv.tmplvarid = '1')
and tvv.value >= curdate()
group by sc.id
order by sc.id
Любая помощь?
close, я пробовал почти точно это, но он возвращает обе строки из таблицы modx_site_tmplvar_contentvalues, мне нужна только строка, содержащая значения CSV [строки с tmplvarid из '1' –
. Можете ли вы пояснить, условия, которые вы хотите получить? только tmpvarid = 1 достаточно или s.t еще? – Thinhbk
Я попробую: каждый элемент в таблице modx_site_content будет иметь 2 записи [по крайней мере] в таблице modx_site_tmplvar_contentvalues. запись с tmplvarid из 3 - это дата, сообщающая мне о событии. Необходимые данные - это значение второй записи [tmplvarid = 1], где связанный tmplvarid = 3 в будущем. –