我有大约4个不同的表,具有完全相同的列名.我想要做的是从按日期排序的所有这些表中选择前4个记录(因为日期是它们共享的列之一).
我不断收到错误的陈述,无论是语法问题还是模糊记录等.
基本上我的陈述类似于:
SELECT TOP 4 date, link, anchor, thumb FROM archive1, archive2, archive3, archive4 ORDER BY date DESC
Run Code Online (Sandbox Code Playgroud)
说明显而言,我是所有这些东西的新手.在此先感谢您的任何帮助.
你需要生成所有表的联合,然后命令它们获得最后四个:
SELECT TOP 4 date, link, anchor, thumb
FROM
(
SELECT date, link, anchor, thumb
FROM archive1
UNION ALL
SELECT date, link, anchor, thumb
FROM archive2
UNION ALL
SELECT date, link, anchor, thumb
FROM archive3
UNION ALL
SELECT date, link, anchor, thumb
FROM archive4
) archive
ORDER BY date DESC
Run Code Online (Sandbox Code Playgroud)
由于您只记录了四条记录,因此您可以在每个查询中添加TOP 4子句以及ORDER BY日期DESC以加快速度.