У меня есть переменная, содержащая динамический запрос. Что-то вроде этого:Как использовать инструкцию SELECT в предложение JOIN?
$query = "SELECT id, subject FROM post1
UNION ALL
SELECT id, subject FROM post2
UNION ALL
SELECT id, subject FROM post3";
Также у меня есть этот запрос:
SELECT code FROM mytable WHERE id = :id
Теперь я хочу join
запрос выше с этим динамическим запросом. Вот моя попытка:
SELECT t1.code t2.subject FROM mytable t1
LEFT JOIN ($query) t2 ON t1.col = t2.id
WHERE t1.id = :id
/*
SELECT t1.code t2.subject FROM mytable t1
LEFT JOIN (SELECT id, subject FROM post1
UNION ALL
SELECT id, subject FROM post2
UNION ALL
SELECT id, subject FROM post3) t2 ON t1.col = t2.id
WHERE t1.id = :id
*/
Это работает. Но для огромных данных требуется много времени. Как я могу сделать это быстрее?
ТНХ ........ +1 – Shafizadeh
Может вы сказать мне свое мнение о [этого решения] (http://stackoverflow.com/questions/37270024/how-to-use-a -выбор-заявление-в-нарисуй пункт # 37271046)? – Shafizadeh
Также я думаю, что выбор 'id' в подзапросах является избыточным, я прав? – Shafizadeh