Obtenez précédente et la ligne suivante de lignes sélectionnées (OÙ) les conditions

Par exemple, j'ai cette déclaration:

my name is Joseph and my father's name is Brian

Cette déclaration est coupée en deux par la parole, à l'instar de ce tableau:

------------------------------
|      ID      |   word      |
------------------------------
|       1      |   my        |
|       2      |   name      |
|       3      |   is        |
|       4      |   Joseph    |
|       5      |   and       |
|       6      |   my        |
|       7      |   father's  |
|       8      |   name      |
|       9      |   is        |
|       10     |   Brian     |
------------------------------

Je veux obtenir précédent et suivant parole de chaque mot

Par exemple je veux obtenir précédent et suivant le mot de "nom":

--------------------------
|    my    |  name  |  is |
--------------------------
| father's |  name  |  is |
--------------------------

Comment pourrais-je obtenir ce résultat?

Est-il des lacunes dans vos identifiants?
La base de données que vous utilisez? Quelle est la version de la base de données utilisez-vous? SQL est un langage, mais presque chaque base de données est un peu différent en dialecte SQL qu'il prend en charge. Ce genre de chose est beaucoup plus facile lorsque vous utilisez une base de données qui prend en charge des fonctions analytiques comme lead et lag.
j'utilise SQL 2012, le soutien du GAL et le PLOMB, mais je veux prendre le résultat pour les 5 millions de word rapidement, il est important de prendre des résultat très rapide dans mon programme

OriginalL'auteur mahdi yousefi | 2014-11-23