Announcement

Collapse
No announcement yet.

mySQL abfrageergebnis auf 2 "zeilen" verteilen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • mySQL abfrageergebnis auf 2 "zeilen" verteilen

    hallo,

    ich mache ein Select... etc. und bekomme als ergebnis zb.

    Bestellnr, bezeichnung, preis, datum, versandkosten
    123, bla, 22,50, 01.12.2010, 2,50
    123, bla2, 30,00, 01.12.2010, 2,50
    .
    .
    .

    jetzt möchte ich aber die Versandkosten in einer neuen Zeile ausgeben also so:

    Bestellnr, bezeichnung, preis, datum
    123, bla, 22,50, 01.12.2010
    123, bla2, 30,00, 01.12.2010
    123, versand, 2,50 01.12.2010

    hat jmd eine Idee wie ich das lösen könnte?

  • #2
    Zwei SELECTs mit UNION verbinden.

    SELECT ... alle Bestellungen (ohne Spalte Versand)
    UNION
    SELECT ... Versandkosten

    Comment


    • #3
      Originally posted by veyron View Post
      hallo,
      jetzt möchte ich aber die Versandkosten in einer neuen Zeile ausgeben also so:

      Bestellnr, bezeichnung, preis, datum
      123, bla, 22,50, 01.12.2010
      123, bla2, 30,00, 01.12.2010
      123, versand, 2,50 01.12.2010

      hat jmd eine Idee wie ich das lösen könnte?
      Der Posten "Versandkosten" erhält einen eigenen Eintrag in die Tabelle und dann:

      Code:
      SELECT Bestellnr, bezeichnung, preis, datum FROM tbl_bestellungen WHERE Bestellnr = 123
      Dann erhälst du deine gewünschte Ausgabe:

      Bestellnr, bezeichnung, preis, datum
      123, bla, 22,50, 01.12.2010
      123, bla2, 30,00, 01.12.2010
      123, versand, 2,50 01.12.2010

      Wenn du jetzte das "Problem" hast, dass die Versandkosten nicht immer unten angezeigt werden, sondern mal oben oder auch mal in der Mitte, dann musst du ORDER BY benutzten (vllt ist ja dein timestamp beim Posten "Versand" der letzte, dann könnte man z.B. danach sortieren lassen)

      MfG PoketRockets

      Comment


      • #4
        danke, dass mit dem UNION könnte funktionieren.
        werde das mal testen.

        @ PoketRockets die lösung kann ja nicht sein, dass ich die DB ändern muss damit meine Abfrage funktioniert. (falls ich dich richtig verstanden habe..)

        EDIT:

        das funktioniert so, aber jetzt habe ich zuerst alle Bestellungen und als letzes alle Versandkosten.
        Hätte aber lieber immer direkt die Versandkosten nach der Bestellung.

        so:

        Bestellnr, bezeichnung, preis, datum
        123, bla, 22,50, 01.12.2010
        123, bla2, 30,00, 01.12.2010
        123, versand, 2,50 01.12.2010
        124, bla, 22,50, 01.12.2010
        124, bla2, 30,00, 01.12.2010
        124, versand, 2,50 01.12.2010

        .
        .
        .
        habe das jetzt mit order by hinbekommen, aber würde gerne wissen ob es da noch eine andere Möglichkeit gibt...
        Zuletzt editiert von veyron; 29.11.2010, 17:14.

        Comment


        • #5
          Hallo,
          Originally posted by veyron View Post
          ...das funktioniert so, aber jetzt habe ich zuerst alle Bestellungen und als letzes alle Versandkosten.
          Hätte aber lieber immer direkt die Versandkosten nach der Bestellung.
          Dann mußt du deine Ergebnismenge entsprechend sortieren. Ohne ORDER BY ist die Menge sowieso als unsortiert zu betrachten.

          Gruß Falk
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment

          Working...
          X