Sco*_*S. 3 sql sql-server reporting-services
对不起,如果问题措辞怪异.
我正在写一份报告,我有一张表有这样的字段....
applicationID statusid statuscreationdate
123 1 3-18-2013
123 2 3-27-2013
124 1 3-29-2013
125 1 4-1-2013
125 2 4-3-2013
Run Code Online (Sandbox Code Playgroud)
我只想返回statusid为1的行但是我还要检查每个applicationid是否存在statusid为2.因此,上表中的所需查询将产生:
123 3-18-2013
125 4-1-2013
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.如果需要更多信息,请告诉我.我希望尽可能简短,简洁,同时包含必要的信息量.
谢谢你的时间.
编辑:更正了所需的结果部分
这个问题被称为 Relational Division
SELECT applicationID, MAX(statuscreationdate) date
FROM TableName
WHERE statusID IN (1, 2) -- list of statusID
GROUP BY applicationID
HAVING COUNT(DISTINCT statusID) = 2 -- no of statusID
Run Code Online (Sandbox Code Playgroud)