Я знаю только минимальные значения, когда дело доходит до SQL, поэтому, пожалуйста, относитесь ко мне как к полному noob!
У меня есть таблица, в которой много строк, но некоторые из них могут быть связаны по id, и я хочуВозвратите массив этих строк, слитых.
post_id # meta_name # meta_value #
======================================
1 # bar # 44 #
1 # foo # on #
2 # bar # 1 #
2 # foo # on #
3 # bar # 1 #
3 # foo # off #
как уменьшенную версию, представьте вышеупомянутую мою таблицу, и я стремлюсь вернуть 2 результата
1 # foo # bar # 44 # on
2 # foo # bar # 1 # on
, основываясь на том, чтоидентификаторы связаны, и что c2 имеет значение 'on'
Моя попытка была следующей из некоторого чтения, но нигде не получалось
SELECT
t1.post_id, t2.post_id, t1.meta_name, t2.meta_name, t1.meta_value, t2.meta_value
FROM
`ecom_page_meta` t1
JOIN
`ecom_page_meta` t2
ON
t1.post_id = t2.post_id
WHERE
t1.meta_name = 'featured-products'
AND
t1.meta_value = 'on'
любая помощь будет принята с благодарностью
** РЕДАКТИРОВАТЬ **
Я подумал, что я просто опубликую синтаксис, который хорошо работает ниже, благодаря ответу ниже:
SELECT L.post_id, L.meta_name, R.meta_name, L.meta_value, R.meta_value
FROM `ecom_page_meta` L
INNER JOIN ecom_page_meta R
ON L.post_id = R.post_id
AND L.meta_name = 'featured-products-order'
AND R.meta_value = 'on'
WHERE R.meta_name = 'featured-products'
ORDER BY L.meta_value
DESC
Спасибо еще раз.