Announcement

Collapse
No announcement yet.

Abfrage Problem für MultiTag-Suche

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

  • #16
    Servus. (Ja, mein Name hat sich geändert, bin dennoch die slebe Person)
    Ich bin den SQL-Code grade, aus zeitlichen Gründen, nur überflogen, aber kann es sein dass HAVING count(*) = 3 dabei fehlt? Ich möchte ja einen Code haben, der es mir ermöglicht, die gesuchten Tags miteinander UND zu verknüpfen bzw in einer weitern (ähnlichen) Abfrage miteinandere ODER zu verknüpfen. Du hast soweit ich sehe sie UND-Verknüpft.
    Ich muss mir das heute Abend genauer ansehen, ich muss nun was tun
    Ants aren't dead

    Comment


    • #17
      Ich möchte ja einen Code haben, der es mir ermöglicht, die gesuchten Tags miteinander UND zu verknüpfen
      demnach fehlt noch HAVING richtig, deckt sich aber nicht mit deiner vorhergehenden Abfrage (da würdest du nämlich kein COUNT() benötigen, da die Anzahl immer 3 wäre)

      bzw in einer weitern (ähnlichen) Abfrage miteinandere ODER zu verknüpfen.
      so wie sie derzeit ist (sowohl deine als auch meine Abfrage)
      Du hast soweit ich sehe sie UND-Verknüpft.
      Nein.

      a IN (1,2,3)
      ist das gleiche wie
      a=1 OR a=2 OR a=3
      Bei SQL-Code bitte beachten: Formatierung von SQL in Beiträgen

      Comment


      • #18
        Originally posted by dibo33 View Post
        [...]

        a IN (1,2,3)
        ist das gleiche wie
        a=1 OR a=2 OR a=3
        Oh, das wusste ich nicht.

        Ja natürlich ist es unsinnig ein COUNT bei einer UND-Verknüpfung zu nutzen, ist ja logisch.
        Ants aren't dead

        Comment


        • #19
          Originally posted by dibo33 View Post
          [...]
          [highlight=sql]
          SELECT projects.title AS project
          , GROUP_CONCAT(tags.title SEPARATOR ', ') AS tags
          [...]
          [/highlight]
          [...]
          Das ergibt aber bei mir was anderes als

          [highlight=sql]
          SELECT projects.title AS project, (
          SELECT GROUP_CONCAT(tags.title SEPARATOR ', ')
          FROM tags
          INNER JOIN `join` USING(tag_id)
          WHERE projects.project_id = `join`.project_id
          ) AS tags
          [/highlight]

          Ich muss wohl dazu sagen, dass ich bei mir die gesuchten Tags nicht mit denen vergleiche die in der Tabelle Tags stehen sondern mit einer weiteren tabelle in der verschiedene Tag-Schreibvarianten gelistet sind.

          Edit: Ich weiß was der Fehler ist. Mit deiner 'Lösung' zeigt der mir nur die übereinstimmenden Tags des jeweiligen Projects an. Ich brauche aber alle Tags des jeweiligen Projekts, auch die, nach denen nicht gesucht wurde. Ich muss von daher einen SubSelect machen!
          Zuletzt editiert von Antz; 04.07.2011, 21:53.
          Ants aren't dead

          Comment

          Working...
          X