[MSSQL] Bereiche zusammenfassen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [MSSQL] Bereiche zusammenfassen

    Hallo SQL-Experten,

    heute habe ich mal ein kniffeliges Problem, dass mit SQL gelöst werden muss. Ein Gruppenwechsel per Frontend oder ein Cursor kommt nicht in Frage ...

    Gegeben ist ein Verkäufer und einzelne PLZ-Bereiche:
    Verkäufer|plz_von|plz_bis
    1|1|10069
    1|10070|19555
    2|19556|24444
    1|24445|29999
    2|30000|99999

    ich echt natürlich viel mehr Sätze.

    Jetzt möchte ich das ganze per SQL in folgendes Ergebnis transformieren:
    1|1|19555
    1|24445|29999
    2|19556|24444
    2|30000|99999

    Also zusammenhängende PLZ-Bereiche sollen auf den Verkäufer gruppiert werden. Hat jemand eine Idee für mich ?!

  • #2
    Re: [MSSQL] Bereiche zusammenfassen

    Original geschrieben von Patrick_PQ
    Ein Gruppenwechsel per Frontend oder ein Cursor kommt nicht in Frage ..
    No way

    Kommentar


    • #3
      kann man da nicht mit case was basteln ?! Wenn ich den Gruppenwechsel in SQL erkennen könnte ...

      Kommentar


      • #4
        Original geschrieben von Patrick_PQ
        kann man da nicht mit case was basteln ?! Wenn ich den Gruppenwechsel in SQL erkennen könnte ...
        wie willst du damit den nächsten bzw. den letzten Datensatz ansprechen?

        Kommentar


        • #5
          hi asp2php,

          habe die ganze Zeit versucht was zu basteln und mich daher nicht eher gemeldet. z.Zt. erstelle mit dem Task "Sql ausführen" ein Recordset als Ausgabeparameter in eine globale Var. Danach erstelle ich mit einem ActiveX ScriptTask den Gruppenwechsel, Ausgabe mit MsgBox -> schreiben in Tabelle habe ich noch nicht ...

          Das ganze läuft mit do until rs.eof ... loop. Dazwischen müsste jeweils bei Gruppenwechsel ein Insert abgesetzt werden.

          Wie ich die nächste Zeile anspreche - Tabelle mit sich selbst verknüpfen und Satz mit der nächst höheren PLZ ausgeben. Nur den Gruppenwechsel bekomme ich ums verrecken nicht hin mit SQL ...

          Kommentar


          • #6
            also doch so kompliziert . Warum kein SP erstellen und mit Curcor arbeiten? wobei clientseitig ist IMHO immer noch am schnellsten. Der Vorteil von SP ist nur, dass du in verschiedenen Apps verwenden kannst.

            Kommentar


            • #7
              eine Lösung mit reinem SQL habe ich bisher nicht gefunden ... da musste ich wohl leider doch auf andere Lösungen ausweichen. Clientseitig geht leider nicht, da das Ergebnis auf dem Server für weitere Verknüpfungen bereit stehen muss.

              Mal sehen was draus wird ... werde jetzt auch mal mit SP und Cursor was probieren. Danke!

              Kommentar


              • #8
                na, wie sieht's aus?

                Kommentar


                • #9
                  klappt soweit - falls jemand mal ein ähnliches Problem hat:
                  Code:
                  DECLARE @tmp VARCHAR(50)
                  DECLARE haribo CURSOR FOR
                  SELECT produktname FROM tbl_haribo
                  OPEN haribo
                  WHILE (@@FETCH_STATUS=0)
                  	Begin
                  		FETCH NEXT FROM haribo INTO @tmp
                  		PRINT @tmp
                  	End
                  CLOSE haribo
                  DEALLOCATE haribo
                  ein einfaches Beispiel für einen Cursor mit MS SQL-Server2000. Für den Gruppenwechsel sind ja bereits ausreichend Beispiele vorhanden.

                  @asp2php: ist glaube ich doch besser als meine Lösung oben - Danke für den Hinweis!

                  Kommentar

                  Lädt...
                  X