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

これは、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;
于 2012-04-16T14:48:21.580 に答える