在我的活动表中,我有列 - 活动,ActivityBaseTable,FieldName
**Activity** **ActivityBaseTable** **FieldName**
Task TaskBase CreatedOn
Task TaskBase ModifiedOn
我需要一个像 -
这样的sql语句select Activity, ActivityBaseTable, FieldName, MIN([Date field], MAX([Date field])
from Activities
最小和最大日期字段为 -
select min(CreatedOn), Max(CreatedOn)
from TaskBase
或
select min(ModifiedOn), Max(ModifiedOn)
from TaskBase
这可以写成一个声明吗?
答案 0 :(得分:1)
您可能不会将此视为答案,但如果您可以修改数据模型以不在列中使用表名,则多 preferrable。有关该主题的精彩摘要,请参阅here。当我读到你有dozens of rows with different base ActivityBaseTables
时,我正在畏缩。我不知道这是一个好主意的设计。
根据您的RDBMS,本网站上有很多示例,还有一些示例如何编写存储过程(这可能是您需要的)。
我只是打算恳求你改变数据模型&完全避免这种情况。