Я пытаюсь запустить запрос в таблице (тот, который использует Wordpress), где я хочу выбрать столбцы ID и post_type из одной таблицы, а затем сделать Left Join в другую таблицу, два отдельных раза (получение отдельных данных) ,Присоединиться к выбору SQL-запроса?
Это то, что я до сих пор, но это не отрезания горчица:
SELECT derby_posts.id AS pID,
derby_posts.post_type AS tier
FROM derby_posts
LEFT JOIN (SELECT derby_postmeta.post_id AS dbID1,
derby_postmeta.meta_key AS dbMeta1)
ON pid = dbid1
AND dbmeta1 = 'twitter'
LEFT JOIN (SELECT derby_postmeta.post_id AS dbID2,
derby_postmeta.meta_key AS dbMeta2)
ON pid = dbid2
AND dbmeta2 = 'website'
WHERE tier IN ('local', 'regional', 'national')
Я уверен, что я что-то супер просто не хватает ...
Edit: вот решение, работал на меня. Помощник таблицы помог, все мои инструкции SELECT очистили все. Кроме того, я понял, что могу удалить элементы из SELECT, хотя я использую их в Join, что очень сильно очищает результаты.
SELECT
db.ID as id,
db.post_type as tier,
dpm1.meta_value as twitter,
dpm2.meta_value as website
FROM derby_posts db
LEFT JOIN derby_postmeta dpm1 ON (db.ID = dpm1.post_id AND dpm1.meta_key = 'twitter')
LEFT JOIN derby_postmeta dpm2 ON (db.ID = dpm2.post_id AND dpm2.meta_key = 'website')
WHERE db.post_type IN ('local','regional','national')
Я отредактировал ваш вопрос для форматирования и изменил ваш фильтр, чтобы использовать 'IN' вместо нескольких операторов' OR'. – Kermit
«это не работает» не является сообщением об ошибке. Как не работает? Возвращает ли он 0 строк, возвращает ли он неправильные результаты, показывает ли ошибка? –