ichbinich: MySQL Bereiche von bis abfragen

Beitrag lesen

Hallo,

folgende Tabellenstruktur(vereinfacht):

ID | Modus
----------
1  |
2  | k
3  | k
4  | k
5  |
6  | h
7  | h
8  | h
9  |
10 | h
11 | h
12 | h
13 |

jetzt möchte ich als Ergebnis haben:

Modus | vonID | bisID
-------------------
k     | 2     | 4
h     | 6     | 8
h     | 10    | 12

also alle Bereiche von ID bis ID mit aufeinanderfolgendem Modus.

Mit folgender Abfrage bekomme ich die Start- und End-IDs für Modus 'h', allerdings in aufeinanderfolgenden Zeilen.

SELECT ID FROM tab WHERE  
  ID IN (SELECT ID FROM tab WHERE Modus='h')  
  AND (  
    ID-1 NOT IN (SELECT ID FROM tab WHERE Modus='h')  
    OR  
    ID+1 NOT IN (SELECT ID FROM tab WHERE Modus='h')  
  )

ID
---
6
8
10
12

So - und nun hab ich keine Idee mehr, wie ich weiter machen soll/muss, um dahin zu kommen wo ich hin will. Oder geht das vielleicht gar nicht in einer Abfrage?

Bin für jeden Schubs in die richtige Richtung dankbar...

vg ichbinich

--
Kleiner Tipp:
Tofu schmeckt am besten, wenn man es kurz vor dem Servieren durch ein saftiges Steak ersetzt...