Ankündigung

Einklappen
Keine Ankündigung bisher.

ähnliche einträge nach tags

Einklappen

Neue Werbung 2019

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

  • ähnliche einträge nach tags

    hallo!

    hab da 2 tables. eine mit bildern, und eine mit den dazugehörigen tags (in eigener spalte per id miteinander verbunden).
    wie kann ich eine ausgabe machen, wo mir ähnliche bilder nach den tags angezeigt werden.

    auflistung nach -> umso mehr tags übereinstimmen, ganz oben


  • #2
    Wie ist die Verbindung Bild <-> Tag realisiert? Ich hoffe nicht eine Spalte mit "id,id,id,id" usw.?

    Kommentar


    • #3
      das bild hat eine spalte mit einer unique id
      und die table mit den tags schaut so aus:

      id | bildid | tag

      id (von der bildtable) und bildid (vom tagtable) sind verbunden

      Kommentar


      • #4
        Und du willst jetzt alle Bilder zu einem bestimmten Tag ausgeben?

        Code:
        SELECT b.id FROM bild b, tag t WHERE b.id = t.bildid AND t.tag = 'gesuchtertag'

        Kommentar


        • #5
          naja hab so gedacht... bild 1 hat die tags
          blume, gelb, frühling, blüte,blüten

          und ein zweites bild (2) zB hat ähnliche tags und überschneidet sich mit
          blume, blüte,blüten

          und ein drittes bild (3) die tags die ähneln
          blume

          dass die reihenfolge der ausgabe der ähnlichen bilder auch so dann ausgegeben wird
          1. Bild2
          2. Bild3

          oder ist das eher schwer realisierbar?

          Kommentar


          • #6
            Geht schon. Dann musst du eben die Tags vom Bild 1 nehmen und in der Datenbank Bilder suchen die sich mit den Tags überschneiden, sortieren kannst du dann nach der Anzahl der Überschneidungen.

            Kommentar


            • #7
              wie geht das? bzw welchen befehlt muss ich da verwenden? mit count irgendwie?

              Kommentar


              • #8
                Vielleicht solltest du dir erst mal ein paar MySQL Tutorials durchlesen um einen Überblick über die Funktionalitäten zu bekommen.

                Kommentar


                • #9
                  ...zum suchen kannst du z.B.

                  SQL LIKE - SQL Tutorial

                  nehmen.

                  Wolf29
                  while (!asleep()) sheep++;

                  Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                  Kommentar


                  • #10
                    jo die kenn ich ja, aber hab einen denkfehler bezügl auslese query

                    Kommentar


                    • #11
                      Du willst nach der Bild-ID gruppieren, und dabei nur die Datensätze berücksichtigen, die eine Tag-ID haben, die auch dein vorliegendes Bild hat. (Liste dieser IDs entweder vorher ermitteln oder per Subselect, und dann IN-Operator verwenden.)
                      Diese Datensätze willst du Zählen (COUNT), und dabei nach diesem Zähler absteigend sortieren.
                      Um die Bild-IDs auszusortieren, die gar keinen Tag mit dem vorliegenden Bild gemein haben, benutzt du HAVING, ebenfalls auf den Zähler angewandt.

                      Kommentar


                      • #12
                        ja aber wie weiss ich welches bild die meissten übereinstimmenden tags hat.
                        hmm

                        Kommentar


                        • #13
                          In dem du bitte liest, was ich geschrieben habe!

                          Zitat von ChrisB
                          Diese Datensätze willst du Zählen (COUNT), und dabei nach diesem Zähler absteigend sortieren.

                          Kommentar


                          • #14
                            ja schon aber diesen count kann ich nur auf einen tag anweden..

                            Kommentar


                            • #15
                              Ist doch auch Quatsch ... COUNT zählt immer die Datensätze, die innerhalb der Gruppierung „gleich“ sind. Und wonach, hatte ich explizit geschrieben, sollst du gruppieren ...?


                              Du brauchst eigentlich nur 1:1 umsetzen, was ich verbal beschrieben habe.
                              Und das versuchst du jetzt bitte auch erst mal, und wenn du dabei noch Probleme hast, dann stellst du bitte konkrete Rückfragen, anstatt mit einem „ich weiss nicht“ und „ja, schon“ nach dem anderen zu kommen.

                              Zeige Code, zeige Beispieldaten, beschreibe in wie fern damit das Ergebnis vom gewünschten abweicht.

                              Kommentar

                              Lädt...
                              X