トップページに戻る    次のSQLパズルへ    前のSQLパズルへ

8-4 組み合わせパズルその2

SQLパズル

数字 21,12,17,11,25,10,3,7,15 のうち
2つの数字を足して、
2,3,5,7,11で割り切れない数になる組み合わせをすべて求める。


SQL

with WorkView as (select 21 as Val from dual
union select 12 from dual
union select 17 from dual
union select 11 from dual
union select 25 from dual
union select 10 from dual
union select  3 from dual
union select  7 from dual
union select 15 from dual)
select a.Val,b.Val,a.Val+b.Val as Sum
  from WorkView a,WorkView b
 where a.Val < b.Val
   and 0 < all(mod(a.Val+b.Val,2),mod(a.Val+b.Val,3),mod(a.Val+b.Val,5),
               mod(a.Val+b.Val,7),mod(a.Val+b.Val,11));


解説

all述語で、余りがすべて0より大きいかチェックしてます。