|
|
newkid 发表于 2010-6-25 00:52 ![]()
http://oraqa.com/2010/06/08/how-to-solve-the-multiple-dwellings-puzzle-in-sql/#comment-1000
How t ... - SELECT *
- FROM (SELECT ROWNUM AS BAKER FROM DUAL CONNECT BY ROWNUM < 6) A,
- (SELECT ROWNUM AS COOPER FROM DUAL CONNECT BY ROWNUM < 6) B,
- (SELECT ROWNUM AS FLETCHER FROM DUAL CONNECT BY ROWNUM < 6) C,
- (SELECT ROWNUM AS MILLER FROM DUAL CONNECT BY ROWNUM < 6) D,
- (SELECT ROWNUM AS SMITH FROM DUAL CONNECT BY ROWNUM < 6) E
- WHERE BAKER <> COOPER
- AND BAKER <> FLETCHER
- AND BAKER <> MILLER
- AND BAKER <> SMITH
- AND COOPER <> FLETCHER
- AND COOPER <> MILLER
- AND COOPER <> SMITH
- AND FLETCHER <> MILLER
- AND FLETCHER <> SMITH
- AND MILLER <> SMITH
- AND BAKER <> 5
- AND COOPER <> 1
- AND FLETCHER <> 1
- AND FLETCHER <> 5
- AND ABS(SMITH - FLETCHER) <> 1
- AND ABS(FLETCHER - COOPER) <> 1
- AND MILLER > COOPER;
复制代码 这也可以,笨了点 |
|