我在MySQL中有6个这样映射的表。 (通用化/专业化)
1.Expense
2.Administrative Expense
3.Vehicle Expense
4.Machine Expense
5.Salaries
6.Purchases
费用是超类,其他是子类。引用了Expense表的主键“ expenseId”,它是其他表的主键。 ID的格式为“ EXP0001”。
我想检查给定的ID(例如“ EXP00010”)是否是管理费用或车辆费用,还是同样的费用。在这种情况下要使用什么查询?我需要找到包含给定值的子类关系的名称。
提前致谢!
最佳答案
返回行时,将表的名称选择为常量:
select * from (
select 'Expense', * from expense
union
select 'Administrative Expense', * from Administrative_Expense
union
-- etc for all tables
) all
where expenseId = ? -- or join etc