2012-04-16 21 views
1

我创建一个人事数据库结果,并有涉及用户的多个表是包括像体检,护照,接种疫苗,会员资格等MySQL的获取从基于日期多个表

每个表中包含我想查询所有表格的到期记录。基本上我想有一个项目列表,要在一定时间到期,是这样的:

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 

什么是做到这一点的最好办法,可以把它以某种方式在单个查询做到吗?

在此先感谢

+1

您是否正在寻找一个“备忘录”,说什么都会即将到期(以便主在哪里一个约会)?或者你是否在寻找某人显示每件物品到期的事情?你能否提供一些表结构的概念? – geoB 2012-04-16 14:46:28

+0

我正在寻找下面的帖子。抱歉,我的解释从来都不是很好,它是任何人都能理解的。无论如何感谢您的时间。 – Sean 2012-04-16 14:58:24

回答

0

它可以在一个单一的查询使用UNION来完成:

(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; 
+0

这就是它,谢谢。 – Sean 2012-04-16 14:57:33