Я не знакомы с mysql, поэтому не совсем точно, как правильно выполнить выборку запроса. Я работаю с WordPress и проиллюстрировать то, что я хотел бы, чтобы выбрать см картинку ниже:mysql комбинированный запрос, идентификаторы из списка, разделенного запятой
У меня есть идентификатор одного специального поста. Я хотел бы получить все другие сообщения, которые подключены к нему следующим образом:
В таблице posts_meta
могут присутствовать записи, post_id
соответствует данным ID
. Одна из этих записей meta_key
имеет определенное значение, а meta_value
этой самой записи представляет собой список, разделенный запятой post_id
. Я хотел бы выбрать *
для каждого из сообщений которого ID
находится в том, что список разделенных запятыми
Я начал со следующим:
SELECT *
FROM prefix_posts AS a
JOIN prefix_postmeta AS b ON (a.ID = b.post_id)
WHERE … //??
, но я понятия не имею, как закончить запрос. Как я могу выбрать идентификаторы, чтобы поочередно выбирать сообщения? Я нашел ответы SO, касающиеся FIND_IN_SET
, но я не хочу проверять, установлен ли данный идентификатор в наборе, мне больше нужно что-то вроде «STR_SPLIT» в подзапросе.
Спасибо! Этот запрос делает то, что я хочу: SELECT * FROM prefix_posts AS в INNER JOIN prefix_postmeta AS б WHERE b.meta_key = "my_desired_meta_key" И FIND_IN_SET (a.ID, b.meta_value)> 0 И b.post_id = " желаемый идентификатор " – philipp