Я хочу присоединиться к двум таблицам, читает одну запись из первой таблицы и две записи из второй таблицы. В первой таблице есть поле, которое я хочу выбрать. Вторая таблица была подключена к первой таблице с внешним ключом.Соедините две таблицы и прочитайте две записи из второй таблицы
Первая таблица:
+----+-------------+
| id | some_fields |
+----+-------------+
| 23 | S.T |
+----+-------------+
| 24 | S.T |
+----+-------------+
| 25 | S.T |
+----+-------------+
Второй стол
+----+----------+------------+
| fid| meta_key | meta_value |
+----+----------+------------+
| 24 | meta_1 | m_1 |
+----+----------+------------+
| 24 | meta_2 | m_2 |
+----+----------+------------+
| 25 | meta_2 | m_3 |
+----+----------+------------+
Out-горшок, что я хочу:
+----+-------------+--------+-------+
| id | some_fields | meta_1 | meta_2|
+----+-------------+--------+-------+
| 24 | S.T | m_1 | m_2 |
+----+-------------+--------+-------+
| 25 | S.T | null | m_3 |
+----+-------------+--------+-------+
Я знаю, что этот запрос не так:
SELECT *
FROM posts
INNER JOIN postmeta ON (posts.id = postmeta.fid)
WHERE 1 =1
AND (
postmeta.meta_key = 'meta_1'
OR postmeta.meta_key = 'meta_2'
)
AND posts.post_type = 'ignition_product'
AND (
posts.post_status = 'publish'
OR posts.post_status = 'private'
)
GROUP BY posts.ID
ORDER BY postmeta.meta_value +0 DESC
LIMIT 0 , 7