我有3个表(articlestbl, businesstbl, photostbl)。现在,我想在一个查询中获取每个表的前2个最更新的记录。这些表彼此不相关(没有外键)。这可能吗?如果有,该怎么做呢?谢谢。
articlestbl
<>之前Art_id art_description art_date2014-06-022014-06-012014-06-02之前businesstbl
<>之前Bus_id bus_description bus_date2014-05-092014-06-012014-06-02之前photostbl
<>之前P_id p_description p_date1图1 2014-05-092图2 2014-04-012014-03-02之前行结果应为
四
第三条
business2
business3
photos1
photos2
使用UNION ALL
:
SELECT * FROM articlestbl ORDER BY art_date DESC LIMIT 2
UNION ALL SELECT * FROM businesstbl ORDER BY bus_date DESC LIMIT 2
UNION ALL SELECT * FROM photostbl ORDER BY p_date DESC LIMIT 2
但是需要从三个不同的表中读取这一事实可能暗示存在设计问题。这里的操作类似于类表继承,考虑一下单表继承,它更有效