Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 根据标志对行进行分组,并将一行作为输出_Sql_Oracle - Fatal编程技术网

Sql 根据标志对行进行分组,并将一行作为输出

Sql 根据标志对行进行分组,并将一行作为输出,sql,oracle,Sql,Oracle,在oracle 10g中,我有一个如下所示的表 **Pat_no pat_id doc doc_flag** A1 123 ABD Y A1 123 ABC Y A1 123 ABE Y A1 123 ABF Y 当所有不同的文档都有标志“Y”时,我想要一个单行输出 **Pat_no pat_id doc_flag** A1

在oracle 10g中,我有一个如下所示的表

**Pat_no   pat_id   doc    doc_flag**
A1         123      ABD     Y
A1         123      ABC     Y
A1         123      ABE     Y
A1         123      ABF     Y
当所有不同的文档都有标志“Y”时,我想要一个单行输出

**Pat_no    pat_id  doc_flag**
A1          123     Y
如果任何一个文件的doc_标志为“N”,则输出应为“N”

**Pat_no    pat_id  doc_flag**
A1          123     N
我该怎么做?

这就是您想要的:

select pat_no, pat_id, 'Y'
from t
group by pat_no, pat_id
having min(doc_flag) = max(doc_flag) and min(doc_flag) = 'Y';
这就是你想要的吗:

select pat_no, pat_id, 'Y'
from t
group by pat_no, pat_id
having min(doc_flag) = max(doc_flag) and min(doc_flag) = 'Y';

我想你在找我

select pat_no, pat_id, min(doc_flag) doc_flag
  from t
 group by pat_no, pat_id

我想你在找我

select pat_no, pat_id, min(doc_flag) doc_flag
  from t
 group by pat_no, pat_id

您可以将
COUNT
聚合功能与
CASE
一起使用:

SELECT pat_no,
       pat_id,
       CASE
         WHEN COUNT( CASE doc_flag WHEN 'N' THEN 1 END ) > 0
         THEN 'N'
         ELSE 'Y'
       END AS doc_flag
FROM   your_table
GROUP BY
       pat_no,
       pat_id

您可以将
COUNT
聚合功能与
CASE
一起使用:

SELECT pat_no,
       pat_id,
       CASE
         WHEN COUNT( CASE doc_flag WHEN 'N' THEN 1 END ) > 0
         THEN 'N'
         ELSE 'Y'
       END AS doc_flag
FROM   your_table
GROUP BY
       pat_no,
       pat_id