我有一个包含动态查询的变量。事情是这样的:如何将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
*/
它的工作原理。但是,大量数据需要很长时间。我怎样才能让它更快?
THX ........ +1 – Shafizadeh
可能请你告诉我你对[这个解决方案]的意见(http://stackoverflow.com/questions/37270024/how-to-use-a - 选择语句,成联接子句#37271046)? – Shafizadeh
另外我认为在子查询中选择'id'是多余的,对吗? – Shafizadeh