我有两个问题:
Array allIds = select id from table1 order by time
和
select * from table1 where id in (allIds[0],allIds[1],...,allIds[9])
有没有办法将这些查询合并为一个?我需要来自两个查询的所有数据。
答案 0 :(得分:0)
如果我理解这一点,我认为这就是你要找的。 p>
基本上,以下查询将从第二个表中选择所有行,它们与第一个行中的10个最新行具有相同的ID。
这有意义吗?或者我错过了标记?SELECT table.id, table2.*
FROM table
INNER LEFT JOIN table AS `table2` ON table.id IN (
SELECT table.id
FROM table
ORDER BY table.time
LIMIT 0,10
)
答案 1 :(得分:0)
有两种方法可以做到:
第一种方式或多或少是两个查询的简单组合:
select * from table1
where id in (
select id
from table2)
order by time
第二种,更好的方式是加入:
select table1.id
from table1
join table2 on table1.id = table2.id
order by time