投稿とメタの2つのテーブルがあります
投稿構造:
+---------+---------+
| id | title |
+---------+---------+
メタ構造:
+---------+---------+---------+
| post | key | value |
+---------+---------+---------+
meta.key が「end」または「result」であるレコードを選択し、post.id でグループ化する必要があります (「end」と「result」の両方のメタ キーがある場合)。
これが私の試みです:
SELECT
posts.id,
posts.title,
meta.post,
meta.`value`,
CASE meta.`key` WHEN 'result' THEN value END AS 'result',
CASE meta.`key` WHEN 'end' THEN value END AS 'end'
FROM
posts
INNER JOIN meta ON posts.id = meta.post
WHERE meta.`key` IN ('result', 'end')
これは、meta.key の「end」と「result」の 2 つの別個のレコードを返します。
+------------+------------+------------+------------+------------+------------+
| id | title | post | value | result | end |
+------------+------------+------------+------------+------------+------------+
| 1 | Untitled | 1 | 5 | (Null) | 1344240000 |
+------------+------------+------------+------------+------------+------------+
| 1 | Untitled | 1 | 88:79 | 88:79 | (Null) |
+------------+------------+------------+------------+------------+------------+
必要なのは、これら 2 つのレコードを 1 つにマージすることです。
+------------+------------+------------+------------+------------+------------+
| id | title | post | value | result | end |
+------------+------------+------------+------------+------------+------------+
| 1 | Untitled | 1 | - | 88:79 | 1344240000 |
+------------+------------+------------+------------+------------+------------+