Announcement

Collapse
No announcement yet.

einfaches select anfrage problem

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

  • einfaches select anfrage problem

    Hi,

    ich stehe irgendwie grad auf dem schlauch. Ich habe eine relation die datensätze anhand ihrer id mit einer verbindet und jedem datensatz so ein schlagwort zuordnet.
    Also irgendwie so:

    datensatz schlagwort
    1;1
    1;3
    1;5
    2;1
    2;2

    nun möchte ich ein abfrage erstellen, die mir alle datensätze liefert denen sowohl das schlagwort 1 als auch das schlagwort 3 zugeordnet ist. Ein AND geht hier nicht, das jede zeile ja blos einen Wert kennt. Wie macht man denn sowas?

    Vielen Dank

  • #2
    Wie wäre es mit einer OR-Verknüpfung oder IN

    SELECT * FROM MyTab where schlagwort in [1, 3]
    (Syntax entsprechend eingesetztem DBMS)

    Comment


    • #3
      krieg ich dann nicht auch die, die nur 1 oder nur 3 als schlagwort haben?

      EDIT: Danke schon mal für die Antwort!

      Comment


      • #4
        Dann evtl. noch ein Grouping + Count = 2

        SELECT Count(datensatz) FROM MyTab where schlagwort in [1, 3] group by datensatz having Count(datensatz) = 2

        Comment


        • #5
          wenns bei 2 Werten bleibt, dann kann man die Tabelle auch selfjoinen

          SELECT tab1.datensatz
          FROM mytab tab1, mytab tab2
          WHERE tab1.schlagwort = 1 AND tab2.schlagwort = 3

          wobei ich mal davon ausgehe, dass man auch mehrere Schlagworte eingeben kann.

          Die Lösung von Bernhard Geyer ist wohl die beste

          Comment


          • #6
            Originally posted by fanderlf View Post
            ...Die Lösung von Bernhard Geyer ist wohl die beste
            Wobei sie nur unter der Annahme gilt, dass jedes Schlagwort einem Datensatz nur genau einmal zugeordnet ist . Ansonsten müßte man sie noch etwas anpassen.

            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


            • #7
              Wobei sie nur unter der Annahme gilt, dass jedes Schlagwort einem Datensatz nur genau einmal zugeordnet ist . Ansonsten müßte man sie noch etwas anpassen.
              Das verstehe ich nicht ganz. Das ganz soll natürlich nicht nur für dieses eine Beispiel funktionieren sondern für eine beliebige anzahl von schlagworten. ich glaube die lösung mit dem count sollte immer funktionieren.
              datensatz und schlagwort sind ja ein gemeinsamer schlüssel ein paar 1;1 kann also natürlich nur einmal vorhanden sein.

              Comment


              • #8
                Originally posted by gooroo175 View Post
                datensatz und schlagwort sind ja ein gemeinsamer schlüssel ein paar 1;1 kann also natürlich nur einmal vorhanden sein.
                Das geht aus obigen Beispiel nicht vor. Wenn die beiden Spalten auch den Primärschlüssel darstellen (bzw. einen Unique Key) ist mein Lösung OK.

                Comment


                • #9
                  Super! Vielen Dank allen...

                  Comment

                  Working...
                  X