在单个COlumn中包装多个列

时间:2010-12-31 11:37:45

标签: sql sql-server-2008

7张桌子。在每个表中都有一个名为fisherid的共同实体。我在每个表中有四个字段,分别是CreatedBy,createdDate,LastModifiedBy和LastModifiedDate。这些字段用于跟踪该表上的上次操作日期和用户名。现在的问题是我需要展示渔民的历史,这是用户对特定渔民所做的事情。我的网格中有3列是ActivityDate,UserName和Description。我需要的是显示这样的东西

ActivityDate     User          Description

------------ ----------- ---------------------------

11/12/2010    Test User         Updated Address
12/12/2010    Alexander         Created Note

让我解释一下上面的内容。如果在表中说地址,如果用户测试用户更新任何字段,则查询必须能够说明您的地址字段已更新,或者可以根据lastmodified date和lastmodifiedbyuser字段(如果它们不为空或空白)来提取操作。所有表都类似。如果CreatedBy和CreatedDate为null,则不会显示任何历史记录。如果仅填充createdDate和createby,则将显示创建的表名或正确的消息。

我希望情景很清楚。

1 个答案:

答案 0 :(得分:0)

如果我正确理解了你的问题,我认为你需要这样的东西吗?

SELECT 
    isnull(LastModifiedDate,createdDate) as ActivityDate,
    isnull(LastModifiedBy,createdBy) as User ....