1
SELECT id, case_id
FROM `case_note`
WHERE `type` = 'follow-up-open'
AND `follow_up_status` =1
GROUP BY `case_id`
ORDER BY case_id DESC

最近我使用这个查询来获得独特的结果,我得到的id, case_id是:

id    case_id
141   23
84    16
47    14
36    1

此查询显示代理创建的跟进,这将显示所有follow_up_status=1跟进创建意味着跟进,follow_up_status=2意味着跟进关闭。

现在的问题是让我们来谈谈case_id=23。此案已结案id=145。现在我不想展示这个案例。但是,如果将来如果一个案例将在此打开,case_id那么它将再次显示在后续列表中。

假设一个新案例打开,id=149然后我想再次显示这个案例。我不知道如何处理这种方法,请帮助我指导一些线索。

更新:这是示例数据: 样本数据

更新:我的问题已解决,但不知道如何关闭此问题,我刚刚在此处更新。我试图在单个查询中解决我的问题,但我已将我的查询分成两个查询并解决了问题。

4

3 回答 3

0

我经历了同样的情况,我所做的是,

您可以保留一个日志表。假设您的表名是大小写。创建一个名为 case_log 的表。

当您想再次打开案例时,请将现有记录移动到日志表中。并使用新数据更新现有行。

最终,您将在日志表中拥有旧记录,在当前表中拥有新记录,您可以在其中跟踪任何您想要的案例的进度。通过使用 case_id,您可以跟踪案件发生的情况。

如果您不想以正确的方式跟踪过去的数据,请更新表格。我希望您需要所有数据,因为您正在遵循此程序。

如果您有任何问题,请告诉我。

于 2013-01-10T05:30:34.167 回答
0

从臀部开始,但我会尝试重新创建你的 SQL 表来自己测试它......

SELECT `id`, `case_id`
FROM `case_note`
WHERE `type` = 'follow-up-open'
GROUP BY `case_id`
HAVING SUM( `follow_up_status` ) = 1
ORDER BY `case_id` DESC
于 2013-01-10T05:27:50.177 回答
0

当 case_id 23 被 id 149 重新打开时,您可以使用 UPDATE 来更改它的后续状态:

UPDATE case_note
SET id=149, follow_up_status=2
WHERE case_id=23 

或者,如果您想保留关于 case_id 23 的信息,一旦被 id 141 关闭并记录新的案例状态,只需添加一个新行:

id    case_id    follow_up_status
149   23         1

此行将由您当前的查询选择。

于 2013-01-10T05:40:53.003 回答