gpt4 book ai didi

SQL - 如何在只返回一行的同时检查一列的多个值?

转载 作者:行者123 更新时间:2023-12-04 23:46:59 26 4
gpt4 key购买 nike

对不起,如果问题的措辞很奇怪。

我正在写一份报告,我有一个表格,里面有这样的字段......

      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

而且我只想返回 statusid 为 1 的行,但我还想检查每个 applicationid 是否存在 statusid 为 2 的行。因此,上表中所需的查询将产生:
     123 3-18-2013
125 4-1-2013

任何帮助,将不胜感激。如果需要更多信息,请告诉我。我希望在包含必要的信息量的同时,尽可能保持简短和简单。

谢谢你的时间。

编辑:更正了所需的结果部分

最佳答案

这个问题叫做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
  • SQLFiddle Demo
  • SQL of Relational Division
  • 关于SQL - 如何在只返回一行的同时检查一列的多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15892650/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com