0

在我的活动表中,我有列 - Activity、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

这可以写成一个陈述吗?

4

1 回答 1

1

您可能不会喜欢这个作为答案,但是如果您可以修改您的数据模型以不在列中使用表名,那将是可取的。请在此处查看该主题的精彩摘要。当我读到你有dozens of rows with different base ActivityBaseTables. 我不知道这是一个好主意的设计。

根据您的 RDBMS,此站点上有很多示例以及其他有关如何编写存储过程(这可能是您需要的)来执行此操作的示例。

我只是恳求您更改数据模型并完全避免这种情况。

于 2012-06-07T18:59:22.490 回答