DISTINCT bei mehrfach SELECT ?

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

  • DISTINCT bei mehrfach SELECT ?

    Hallo,

    hab mal eine Frage.

    Kann ich einen DISTINCT auf eine Spalte durchführen, wenn ich ein mehrfach SELECT habe?

    Will heisen:

    PHP-Code:
    SELECT DISTINCT a.caseIDa.beginnb.caseIDb.casestatusIDc.casestatusIDc.casestatus 
                    FROM 
    `Bearbeitung` AS 
                    JOIN 
    `Status` AS b ON a.caseID b.caseID 
                    JOIN 
    `Casestatus` AS c ON b.casestatusID c.casestatusID 
                    WHERE DATE
    (a.beginn) <= DATE(?) 
                    AND 
    c.casestatus LIKE 'Closed%' OR '%Abgewiesen%'"; 
    Ich möchte also gerne, das NUR auf "a.caseID" DISTINCT durchgeführt wird und die anderen select unbeachtet bleiben.

    Wenn ich die Query so wie oben beschrieben laufen lassen, bekomme ich nicht das gewünchte Ergebnis.

    Wer weis Rat?

    Geht das nur im eimem doppelselect oder kann ich es ähnlich wie oben lösen?

    Danke..
    gruss pedro

  • #2
    distinct filtert mehrfach vorkommenen "Zeilen", was willst du eigentlich?

    Kommentar


    • #3
      Ich möchte genau das und zwar soll NUR a.caseID gefiltert werden.

      Wie mach ich das? Habs auc hschon per AS versucht...
      gruss pedro

      Kommentar


      • #4
        das würde vor allen dingen garkeinen sinn machen


        gehen wir mal davon aus du hast 2 spalten in einem select bekommst folgende zeilen zurück:

        id,irgendwas
        ----------------
        1,2
        1,3
        1,4
        1,5
        1,6
        1,7
        1,8

        so nun willst du so wie du gesagt hast NUR ein Distinct auf die ID und nicht auf "irgendwas" machen


        was soll dir denn dann bei "irgendwas" zurückgegeben werden? Eine Zufallszeile?
        signed oder unsigned... das ist hier die Frage

        Kommentar


        • #5
          nein anders.

          die caseID gibt es mehrfach und ich brauche sie jeweils nur einmal!

          die caseID wird dann weiter verarbeitet... aber woanders....
          gruss pedro

          Kommentar


          • #6
            Ich verstehe das immer noch nicht so richtig.

            wenn du einfach ein SELECT DISTINCT benutzt, so werden alle doppelten zeilen rausgeworfen und das ist doch genau das, was du willst. Da kommt auch jede caseID nur einmal vor.

            es sei denn, in Status.caseId kann mehrfach das gleiche drinstehen. Dann würde es aber keinen Sinn mehr machen jede caseID nur einmal abzufragen, weil ja verschiedene sachen dazugejoint werden.
            signed oder unsigned... das ist hier die Frage

            Kommentar


            • #7
              naja aber genau das ist ja meine befürchtung, dass in den anderen spalten durch die joins doppelte daten gelöscht werden und ich am ende dann nicht mehr genau das habe, was ich will.

              ...den es ist nämlich so, mit dem ergebnis aus dem DISTINCT select mache ich dann ein Update auf die Ermittelten caseID in einer anderen Tabelle...

              ...ich kanns eben leider vorhin nicht testen, da bei dem Update mehrere 1000 Datensätze getroffen sein werden.
              gruss pedro

              Kommentar


              • #8
                Datenbanktabellen sind Matrix, daher sind Abfragenergebnisse auch Matrix, hast du auch überlegt, bevor du so ein Unsinn verlangt?

                Kommentar


                • #9
                  Des weiteren gibt es auch Backups
                  signed oder unsigned... das ist hier die Frage

                  Kommentar


                  • #10
                    kein BAckup;o(

                    Also mein Problem ist einfach, ich bin übervorsichtig was Datenbank Änderungen angeht.

                    Also ich versuch jetzt mal raus zu finden, was mein DISTINCT aller SELETC`s raus kommt.

                    Wird schon klappen, wenn nicht erhöht sich der UPDATE aufwand einfach um den Faktor 8 (circa).

                    Wird die DB schon vergraften....
                    gruss pedro

                    Kommentar

                    Lädt...
                    X