уменьшающий стол, чтобы получить остров - PullRequest
0 голосов
/ 08 января 2012

У меня есть следующая таблица:

 X    Y    Z     T
 __________________
 A          2             
 B          5                       Z is UNIQUE
 C          8
 A          3
 B          6                     
 A          4
 C          1

Я хочу уменьшить таблицу до следующей в соответствии со значениями Z;

 X    Y    Z     T
 __________________

 A         2           
 A         3                   
 A         4
 B         5
 B         6 

как я могу построить таблицу следующим образом?

разница между 3 и 2 равна 1, и PK, то есть X, одинаковы, поэтому возьмите "A 2" и "A 3"

разница между 4 и 3 составляет 1, и PK,т. е. X одинаковы, поэтому возьмите «A 4» и «A 3»

разница между 6 и 5 равна 1, а PK, то есть X, одинаковы, поэтому возьмите «B 6» и «B 5»

как я могу это сделать?

1 Ответ

2 голосов
/ 08 января 2012
SELECT a.*
FROM TableX AS a
WHERE EXISTS
      ( SELECT *
        FROM TABleX AS b
        WHERE b.X = a.X
          AND ( b.Z = a.Z + 1
             OR b.Z = a.Z - 1
              )
      )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...