SQL筛选器问题

时间:2017-02-23 14:28:22

标签: mysql sql

我很抱歉没有在标题中更清楚,但我不知道该放什么,如果有人根据我的问题提出建议,请告诉我,以便我可以更改它。我在下面还包含了一个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命令。

我希望我很清楚,如果没有,请不要犹豫!

0 个答案:

没有答案