2017-07-27 73 views
0

我试图根据两个标准将MIN/MAX应用于我的SELECT子句。 (见下文)。当我尝试在另一个查询中引用我的列submitted_at时,它说列引用不明确。应用CASE WHEN到MIN/MAX

MIN(CASE WHEN (document != 'dphoto' AND document_type != 'dlicenses' AND 
status = 'upload') THEN occurred_at END) AS submitted_at,` 

MAX(CASE WHEN (document_type = 'dphoto' AND document_type = 'dlicenses' AND 
status = 'upload') THEN occurred_at END) AS submitted_at` 

我试图将这个短语合并为1个选择,但一直不成功。任何提示赞赏

+0

这是明确的,因为你必须在命名列在本质上是相同的。你为什么不尝试改变** min_submitted_at **和** max_submitted_at ** – Isaiah3015

+0

感谢您的帮助!上面的答案与我试图完成的工作一起工作 –

+0

不客气。很高兴为你工作。 – Isaiah3015

回答

0

您可以通过以下两个合并到一列组合:

CASE WHEN (document != 'dphoto' AND document_type != 'dlicenses' AND status = 'upload') 
      THEN Min(occurred_at) 
     WHEN (document_type = 'dphoto' AND document_type = 'dlicenses' AND status = 'upload') 
      THEN Max(occurred_at) 
END As Submitted_at 
+0

做了一些额外的验证后,我注意到,它似乎是当dphoto和dlicense是'TRUE'结果不会返回我的查询?是否需要“OR”声明? –