2015-11-10 4 views
0

Я пытаюсь получить ряд должностей и meta_value от конкретной должности, используя запрос MySQL из двух разных таблиц:Две независимые запросы в одном запросе MySQL

SELECT SUM(CASE WHEN post_type='updates' AND post_status='publish' THEN 1 ELSE 0 END) AS updates FROM wp_posts, 
LEFT JOIN meta_value FROM wp_postmeta WHERE meta_key=content_version AND post_id=11242 AS version 

Таблица wp_posts выглядит следующим образом:

| ID | title | post_type | post_status | 
---------------------------------------------------- 
| 32 | Post Title | updates | publish | 

И таблица wp_postmeta выглядит следующим образом:

| post_id |  meta_key | meta_value | 
----------------------------------------- 
| 11242 | content_version |  1  | 

Во всяком случае, я не могу добиться результатов. Не могли бы вы мне помочь?

+0

Показать структуру таблицы, пожалуйста. –

+0

Существует две разные таблицы. Позвольте мне изменить мой вопрос. – qqruza

+1

'LEFT JOIN' должно быть после' FROM' и где ваше предложение 'ON', чтобы присоединиться? – Alex

ответ

1
SELECT SUM(CASE WHEN post_type='post' AND post_status='publish' THEN 1 ELSE 0 END) AS updates, meta_value AS VERSION FROM wp_posts,wp_postmeta WHERE meta_key='content_version' AND post_id=11242 

Обновлен мой запрос

+0

Привет @Lucky_Chingi спасибо, но он приносит только количество сообщений о обновлений os и никаких результатов для meta_value из другой таблицы – qqruza

+0

- это content_version строка? –

+0

Это число, может быть 1 или 2 – qqruza

1

Попробуйте следующее:

SQL Fiddle

SELECT SUM(CASE WHEN aa.post_type = 'updates' AND aa.post_status = 'publish' THEN 1 ELSE 0 END) AS updates, bb.meta_value AS version 
FROM wp_posts AS aa 
INNER JOIN wp_postmeta AS bb 
ON aa.ID = bb.post_id 
WHERE bb.meta_key = '1' AND bb.post_id = 11242; 

Результат:

updates | version 
2  | 1 
+0

Мне нужно получить следующий вид: Обновления - 1 и версия - 1 – qqruza

+0

Попробуйте обновленный ответ. –

+0

По некоторым причинам он показывает обновления - 0 – qqruza