我很抱歉没有在标题中更清楚,但我不知道该放什么,如果有人根据我的问题提出建议,请告诉我,以便我可以更改它。我在下面还包含了一个SQL小提琴,理解我的解释可能会有所帮助。
我目前正在创建一个应该返回有关某些报告文档的信息的查询。这些文档的状态保存在另一个表中。每次更新文档的状态时,都会在Report_Status表中创建新记录。我的目标是使用当前状态以及一些相关信息显示所有这些报告文档。这些信息包含在我的小提琴中,但问题主要在于Report_Status表。
我现在的解决方案提供了以下输出:
| Study | Site | Visit | Report | Status |
|--------------|----------------|-------|----------------|---------------------|
| Tester (UAT) | Mercy Hospital | SQV | SQV Report_GSG | Authoring (Default) |
| Tester (UAT) | Mercy Hospital | SQV | SQV Report_GSG | Authoring (Default) |
| Tester (UAT) | Mercy Hospital | SQV | SQV Report_GSG | Authoring (Default) |
| Tester (UAT) | Mercy Hospital | SQV | SQV Report_CoE | Authoring (Default) |
| Tester (UAT) | Mercy Hospital | SQV | SQV Report_CoE | Authoring (Default) |
| Tester (UAT) | Mercy Hospital | SQV | SQV Report_GSG | Under Revision |
实际上,每个报告只需要1个条目,即状态为“修订版本”的SQV Report_GSG,以及状态为“Authoring Default”的SQV Report_CoE,但我无法相应地处理数据。
我已经尝试过滤MAX(id),但显然数据不一致导致最新记录没有最高ID。这个动作的灵感来自这个问题的第二个答案:SELECT DISTINCT on one column
请在SQLFiddle中找到我当前的“解决方案”:http://sqlfiddle.com/#!7/9983a/22
您在示例的Report_Status表中找到的数据包含与实际数据相对应的数据,即id,create_date和update_date。
请记住,我用来创建此查询的软件 NOT 支持T-SQL或PL / SQL命令。
我希望我很清楚,如果没有,请不要犹豫!