Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Jointabelle gibt mir nicht aus was ich möchte

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Jointabelle gibt mir nicht aus was ich möchte

    Hallo zusammen,
    ich habe da ein kleines Problem

    folgendes: wie bekomme ich es hin, das ich eine Ausgabe aus der Tabelle hmfachgebiet bekomme,
    die mir alles ausgibt außer es befindet sich der username in zusammenhang mit der fachgebiet_id in der Tabelle ?

    Ich habe 2 Tabellen

    die Tabelle fachgebietenliste beinhaltet
    fachgebiet_id und
    fachgebiet

    die zweite Tabelle hmfachgebiet beinhaltet
    fachgebiet_id
    hmfachgebiet und
    uername

    mein Versuch sieht so aus
    Code:
    SELECT
    		                a.*,
    				b.*
    			FROM
    				fachgebietenliste AS a LEFT OUTER
    			JOIN
    				hmfachgebiet AS b
    			ON
    				a.fachgebiet_id != b.fachgebiet_id
    
    			WHERE
    				b.username  != '$name'
    aber... da bekomme ich alles ausgeliefert sofern gar kein Username vorhanden ist, es befindet sich aber zur Zeit einen Namen in der hmfachgebiet Liste der aber nicht $name entspricht.

    für freundliche Unterstüzung bedanke ich mich im Voraus

  • #2
    Versuch mal bei SELECT nur a.* zu machen

    Wenn das nicht klappt versuche
    Code:
    b.username  != '$name'
    zum ON dazu zu machen:
    Code:
    ON a.fachgebiet_id != b.fachgebiet_id AND b.username  != '$name'
    Außerdem verstehe ich nicht was du mit username in zusammenhang mit der fachgebiet_id meinst. Wär es möglich dass du ein kleines Beispiel mit Beispieldatensätzen und dem gewünschtem Datensatz postest?

    Kommentar


    • #3
      Zitat von Michael17 Beitrag anzeigen
      Hallo zusammen,
      ich habe da ein kleines Problem


      mein Versuch sieht so aus

      versuch mal bitte, via create table & insert nachvollziehbare beispiele zu liefern und auch das, was rauskommen soll.
      PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

      Kommentar


      • #4
        Code:
        SELECT
        				a.*
        			FROM
        				fachgebietenliste AS a LEFT OUTER
        			JOIN
        				hmfachgebiet AS b
        			ON a.fachgebiet_id != b.fachgebiet_id AND b.username  != '$name'
        so scheint es im ersten moment zu klappen,
        ... aber, wenn ich jetzt einen Datensatz mit meinem Usernamen einfüge,
        wird mein b.username != '$name'
        wohl nicht berücksichtigt

        Kommentar


        • #5
          Zitat von akretschmer Beitrag anzeigen
          versuch mal bitte, via create table & insert nachvollziehbare beispiele zu liefern und auch das, was rauskommen soll.
          Hi,
          meinst du das ...?
          wenn ich das abfrage
          PHP-Code:
          foreach ($result as $topic)
                  {

                      echo 
          "<form id='noSpaces' action='' method='post'>";
                      echo 
          "<input type='checkbox' name='checkbox[]' value='".$topic['fachgebiet_id']."'>"
                       
          .' '$topic['fachgebiet']."<br />" ;
                      }
                       echo 
          "<input type='submit' name='hmFachgebieteSpeichern'  value='&uuml;bernehmen'>";
                      echo 
          "</form>"
          möchte ich meine sql abfragen.

          Kommentar


          • #6
            Nein, @akretschmer und ich möchten, dass du uns z.B. per Bild oder hier die Tabellen gefüllt mit Beispieldatensätzen zeigst und auch eine Tabelle wie sie dann bei deinem SELECT rauskommen soll (basierend auf den Beispieldaten)
            Am besten noch etwas erklärt

            Kommentar


            • #7
              Zitat von Spamversender Beitrag anzeigen
              Nein, @akretschmer und ich möchten, dass du uns z.B. per Bild
              Nein, kein Bild. PostgreSQL kann viel, nicht aber aus einem Bild Tabellen erstellen & füllen.
              PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

              Kommentar


              • #8
                Ich meine entweder ein BIld anhängen oder im Post darstellen wie er das gemeint hat

                Kommentar


                • #9
                  Zitat von Spamversender Beitrag anzeigen
                  Nein, @akretschmer und ich möchten, dass du uns z.B. per Bild oder hier die Tabellen gefüllt mit Beispieldatensätzen zeigst und auch eine Tabelle wie sie dann bei deinem SELECT rauskommen soll (basierend auf den Beispieldaten)
                  Am besten noch etwas erklärt
                  Ich hoffe so wird es verständlich

                  Also beschreibung ist so
                  ich speichere über ein Formular und Checkboxen (die ich aus der fachgebietenliste nehme) die Daten fachgebieten_id, fachgebiet und userdaten in die hmfachliste ab.
                  Danach bzw. als Ergebnis möchte ich alle Fachgebiete aus der fachgebietenliste
                  die ich noch nicht angeklickt und gespeichert habe (in der hmfachliste)noch anklicken bzw. angezeigt bekommen können.
                  Als beispiel habe ich noch im Anhang die Datenbanken als Bild angefügt

                  wenn noch was benötigt wird um mir Hilfestellung zu leisten ruig Fragen

                  vielen Dank
                  Angehängte Dateien

                  Kommentar


                  • #10
                    Zitat von Michael17 Beitrag anzeigen
                    folgendes: wie bekomme ich es hin, das ich eine Ausgabe aus der Tabelle hmfachgebiet bekomme,
                    die mir alles ausgibt außer es befindet sich der username in zusammenhang mit der fachgebiet_id in der Tabelle ?
                    Der erste Schritt ist das Problem präzise zu formulieren. Das was du da schreibst ist das:

                    PHP-Code:
                    SELECT FROM hmfachgebiet WHERE username  != '$name' 
                    Das was du ̶w̶̶a̶̶h̶̶r̶̶s̶̶c̶̶h̶̶l̶̶i̶̶c̶̶h̶̶ willst ist das:

                    PHP-Code:
                    SELECT
                        
                    *
                    FROM
                        fachgebietenliste a LEFT JOIN
                        hmfachgebiete b ON 
                    (a.fachgebiet_id b.fachgebiet_id AND b.username '$name')
                    WHERE
                        b
                    .fachgebiet_id IS NULL 
                    *edit* ̶w̶̶a̶̶h̶̶r̶̶s̶̶c̶̶h̶̶l̶̶i̶̶c̶̶h̶̶

                    Kommentar


                    • #11
                      Zitat von erc Beitrag anzeigen
                      Der erste Schritt ist das Problem präzise zu formulieren. Das was du da schreibst ist das:

                      PHP-Code:
                      SELECT FROM hmfachgebiet WHERE username  != '$name' 
                      Das was du ̶w̶̶a̶̶h̶̶r̶̶s̶̶c̶̶h̶̶l̶̶i̶̶c̶̶h̶̶ willst ist das:

                      PHP-Code:
                      SELECT
                          
                      *
                      FROM
                          fachgebietenliste a LEFT JOIN
                          hmfachgebiete b ON 
                      (a.fachgebiet_id b.fachgebiet_id AND b.username '$name')
                      WHERE
                          b
                      .fachgebiet_id IS NULL 
                      *edit* ̶w̶̶a̶̶h̶̶r̶̶s̶̶c̶̶h̶̶l̶̶i̶̶c̶̶h̶̶
                      leider nicht, da bekomme ich

                      WarningInvalid argument supplied for foreach()
                      Skript: C:\xampp\htdocs\scripts\Hma\classes\class.hma.php Line: 138

                      und darin steht

                      foreach ($result as $topic)
                      {

                      Kommentar


                      • #12
                        Zitat von Michael17 Beitrag anzeigen
                        Als beispiel habe ich noch im Anhang die Datenbanken als Bild angefügt
                        Das ist nicht was, worum ich Dich bat.
                        PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

                        Kommentar


                        • #13
                          Bitte erstmal in der Tabelle hmfachgebiet die Spalte "fachgebiet" entfernen, da du das Fachgebiet ja schon über die fachgebiet_id in Verknüpfung mit der Tabelle fachgebiet identifizierst.

                          Kommentar


                          • #14
                            Zitat von Spamversender Beitrag anzeigen
                            Bitte erstmal in der Tabelle hmfachgebiet die Spalte "fachgebiet" entfernen, da du das Fachgebiet ja schon über die fachgebiet_id in Verknüpfung mit der Tabelle fachgebiet identifizierst.
                            Ist das denn Notwendig die zu löschen?
                            Denn ich wollte die Nutzen um später auch über Checkboxen (wegen der Namenbeschreibung) auch über ein Formular zu löschen.

                            @akretschmer
                            Sorry, ich weiß nicht genau was du möchtest oder benötigst bin ja noch Anfänger

                            Kommentar


                            • #15
                              Zitat von Michael17 Beitrag anzeigen

                              @akretschmer
                              Sorry, ich weiß nicht genau was du möchtest oder benötigst bin ja noch Anfänger
                              #3
                              PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

                              Kommentar

                              Lädt...
                              X