1

我正在创建一个人事数据库,并有多个与用户相关的表,其中包括体检、护照、疫苗接种、会员资格等。

这些表中的每一个都包含一个到期记录,我想在其上查询所有表。基本上我想要一个将在特定时间过期的项目列表,例如:

John - Passport expires in 1 month
Emma - Vaccination expires in 1 month
Carol - Vaccination expires in 3 weeks
Josh - Medical expires in 2 weeks
James - Passport expires in 3 days

最好的方法是什么,可以在一个查询中以某种方式完成吗?

提前致谢

4

1 回答 1

0

可以使用联合在单个查询中完成:

(SELECT name, 'passport', expiry_date FROM table_passport WHERE ...) 
UNION ALL 
(SELECT name, 'vaccination', expiry_date FROM table_vaccinations WHERE ...) 
UNION ALL 
(SELECT name, 'medical', expiry_date FROM table_medical WHERE ...) 
ORDER BY name;
于 2012-04-16T14:48:21.580 回答