回答編集履歴
3
URL変更
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
SQLServerの分析関数の使用例
|
2
|
-
[
|
2
|
+
[https://oraclesqlpuzzle.ninja-web.net/sqlserver2008-sql1-olap.html](https://oraclesqlpuzzle.ninja-web.net/sqlserver2008-sql1-olap.html)
|
3
3
|
の「7. 全称肯定,全称否定,存在肯定,存在否定」を見ながら
|
4
4
|
SQLFiddleのSQLServer2014環境で作ってみました :-)
|
5
5
|
|
2
いろいろ修正
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
SQLServerの分析関数の使用例
|
2
|
-
http://www.geocities.jp/oraclesqlpuzzle/sqlserver2008-sql1-olap.html
|
2
|
+
[http://www.geocities.jp/oraclesqlpuzzle/sqlserver2008-sql1-olap.html](http://www.geocities.jp/oraclesqlpuzzle/sqlserver2008-sql1-olap.html)
|
3
3
|
の「7. 全称肯定,全称否定,存在肯定,存在否定」を見ながら
|
4
4
|
SQLFiddleのSQLServer2014環境で作ってみました :-)
|
5
5
|
|
1
いろいろ修正
answer
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
SQLServerの分析関数の使用例
|
2
|
+
http://www.geocities.jp/oraclesqlpuzzle/sqlserver2008-sql1-olap.html
|
3
|
+
の「7. 全称肯定,全称否定,存在肯定,存在否定」を見ながら
|
1
4
|
SQLFiddleのSQLServer2014環境で作ってみました :-)
|
2
5
|
|
3
6
|
```sql
|
@@ -17,14 +20,23 @@
|
|
17
20
|
select 600,N'青' union all
|
18
21
|
select 700,N'赤' union all
|
19
22
|
select 700,N'緑' union all
|
23
|
+
select 700,N'黒' union all
|
24
|
+
select 800,N'赤' union all
|
25
|
+
select 800,N'赤' union all
|
20
|
-
select
|
26
|
+
select 800,N'黒')
|
21
27
|
select 項目A
|
22
28
|
from t
|
23
29
|
group by 項目A
|
24
30
|
having sum(case 項目B when N'赤' then 1 else 0 end) > 0 --条件2
|
25
31
|
and sum(case 項目B when N'青' then 1 else 0 end) = 0 --条件3
|
26
32
|
and sum(case 項目B when N'黄' then 1 else 0 end) = 0 --条件4
|
27
|
-
and not (
|
33
|
+
and not (min(case 項目B when N'赤' then 1 else 0 end) = 1 --条件5
|
28
34
|
and count(*) >= 2)
|
29
35
|
order by 項目A
|
36
|
+
|
37
|
+
| 項目A |
|
38
|
+
|-----|
|
39
|
+
| 300 |
|
40
|
+
| 700 |
|
41
|
+
| 800 |
|
30
42
|
```
|