Ankündigung

Einklappen
Keine Ankündigung bisher.

sql abfrage "alle personen wo ganze gruppe status 1 hat

Einklappen

Neue Werbung 2019

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

  • sql abfrage "alle personen wo ganze gruppe status 1 hat

    Hallo,

    ich habe folgendes problem

    angenommen ich habe folgende tabelle

    gruppe teilnehmer status
    1 a-teilnehmer1 0
    1 a-teilnehmer2 0
    1 a-teilnehmer3 0
    2 b-teilnehmer1 0
    2 b-teilnehmer2 1
    3 c-teilnehmer1 0
    3 c-teilnehmer2 0
    3 c-teilnehmer3 0
    3 c-teilnehmer3 0

    ich will alle teilnehmer anzeigen wo in der gruppe alle den status 0 haben.

    dh ergebnis sollte sein:
    gruppe teilnehmer status
    1 a-teilnehmer1 0
    1 a-teilnehmer2 0
    1 a-teilnehmer3 0
    3 c-teilnehmer1 0
    3 c-teilnehmer2 0
    3 c-teilnehmer3 0
    3 c-teilnehmer3 0

    wie kann ich dieses select aufbauen?

    danke für die hilfe

    lg
    B


  • #2
    http://dev.mysql.com/doc/refman/5.1/de/select.html

    Kommentar


    • #3
      Fellnerb das ist eine ganz grundlegende Frage. Wir können sie dir beantworten - Stichwort Where - aber du musst dich unbedingt in das Basiswissen einarbeiten. SQL ist durchaus recht komplex, aber zumindest die Basics solltest du erlernen. Denn die Frage, die du stellst, ist wirklich trivial. Bereits als SQL-Anfänger sollte man sie beantworten können, was also bedeutet, dass du noch nicht mal angefangen hast, dich in SQL einzuarbeiten. Die Aufgabe eines Forums ist es nicht dir sämtliche Arbeit abzunehmen und dir am besten auch noch Grundlagen beizubringen. Dafür gibt es Tutorials (in Form von Text und Videos), Dokumentationen, Bücher, Blogs, Magazine usw.

      Kommentar


      • #4
        hi,

        ja grundsätzlich kenn ich mich ja schon aus mit mysql.

        es ist ja kein problem auf den status abzufragen, aber so dass er dann nur die teilnehmer ausspuckt wo jeder teilnehmer in der gruppe auf 0 ist, da hab ich meine schwierigkeit. steht ja alles in der selben tabelle.

        glaub nicht dass das so eine simple frage ist, glaub eher dass die frage vielleicht falsch verstanden wurde.

        lg
        B

        Kommentar


        • #5
          glaube gehört in ein gotteshaus.

          meinen link angeschaut oder den beitrag von monolith sorgfältig gelesen?

          Kommentar


          • #6
            ja hab ich, habe aber nichts passendes dazu gefunden.
            hab mich nicht wenig mit der frage beschäftigt, aber a lösung über ein sql statement hab ich nicht gefunden.

            aber gut. hier scheint mir keiner helfen zu wollen.

            danke trotzdem.

            Kommentar


            • #7
              Zitat von monolith Beitrag anzeigen
              Fellnerb das ist eine ganz grundlegende Frage. Wir können sie dir beantworten - Stichwort Where - aber du musst dich unbedingt in das Basiswissen einarbeiten.
              auf pampige und faule leute hab ich heute echt kein bock.

              Kommentar


              • #8
                super forum mit super helfern kann ich nur sagen!

                wenn die frage sooo einfach ist wie du tust hättest auch einfach nur die antwort posten können. dann hätt ich mir das angeschaut und draus lernen können.

                danke für naja verschwendete zeit in dem forum.

                Kommentar


                • #9
                  Ich würde dafür einen LEFT JOIN verwenden und damit ausschließen, welche Gruppen nicht den Status 0 haben:

                  Code:
                  SELECT `tbl`.`gruppe`,
                         `tbl`.`teilnehmer`,
                         `tbl`.`status`
                  FROM `tbl`
                  LEFT JOIN (
                      SELECT `gruppe`
                      FROM `tbl`
                      WHERE `status` != 0
                  ) `g` ON (`g`.`gruppe` = `tbl`.`gruppe`)
                  WHERE `g`.`gruppe` IS NULL;
                  Beispiel (sqlfiddle.com): http://sqlfiddle.com/#!2/1f0b6a/1

                  Kommentar


                  • #10
                    weltklasse.
                    genau das hab ich gebraucht!

                    gibt doch auch gute hilfsbereite leut hier.

                    lg
                    B

                    Kommentar


                    • #11
                      Und ich würde die Tabelle erst einmal normalisieren. Ich schließe mich moma an, das hier ist ein Forum zur Selbsthilfe. Was du hier nicht erwarten solltest ist das was Chris. gepostet hat.

                      Gruppe dürfte/muss in deinem Fall NOT NULL sein, was aus dem weltklasse Query nonsense macht.
                      [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                      Kommentar


                      • #12
                        ---

                        Kommentar


                        • #13
                          Zitat von tr0y Beitrag anzeigen
                          Gruppe dürfte/muss in deinem Fall NOT NULL sein, was aus dem weltklasse Query nonsense macht.
                          Daher ist im Fiddle das Feld ja auch auf "NOT NULL DEFAULT 0" gesetzt. Was gibt es für Alternativen/Verbesserungsvorschläge? Lasse mich gerne belehren.

                          Kommentar


                          • #14
                            Ich persönlich würde keine Sub-SELECTs nutzen. Ein self-JOIN reicht hier doch.

                            Code:
                            SELECT 
                               a.`gruppe`, 
                               a.`teilnehmer`, 
                               a.`status` 
                            FROM `foo` AS a 
                            LEFT JOIN `foo` AS b 
                               ON ( a.`gruppe` != b.`gruppe` )
                            WHERE b.`status` != 0;
                            [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                            Kommentar


                            • #15
                              Wieder etwas gelernt, danke.

                              Kommentar

                              Lädt...
                              X