Ankündigung

Einklappen
Keine Ankündigung bisher.

6 Tabellen -> Übereinstimmungen ausgeben lassen?

Einklappen

Neue Werbung 2019

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

  • 6 Tabellen -> Übereinstimmungen ausgeben lassen?

    Servus Leute,

    hänge hier an einem kniffeligem Problem:

    Ich habe 6 Tabellen:

    artikel
    artikel_sprachen
    artikel_keywords

    gutachter
    gutachter_sprachen
    gutachter_keywords


    In "artikel" und "gutachter" sind jeweils die Artikel und die Gutachter gespeichert mit dem Primary Key "artId" für Artikel und "gId" für Gutachter.

    Jetzt sind die Tabellen "artikel_sprachen" und artikel_keywords mit der artikel Tabelle über einen fremdschlüssel artId verbunden.

    Ebenso sieht die Verbindung von gutachter_sprache und gutachter_keywords mit gutachter aus.

    Mein Problem ist nun das ich eine Abfrage brauche, die mir übereinstimmungen in "artikel_sprache" mit "gutachter_sprache" und "artikel_keywords" mit "gutachter_keywords" liefert.

    z.B.

    Der Artikel 1 hat die SprachenIds 5 und die KeywordsIds 2,3,4

    Der Gutachter 1 hat die SprachenIds 4,5,6 und KeywordIds 2,3,4


    Wie bekomme ich nun ein query, was mit genau den Gutachter liefert, der die SprachenIds und die KeywordsId von dem Artikel 1 besitzt?

    In dem oben Beispiel muss der Gutachter im Result angezeigt werden, da er unter seinen Sprachen die Id "5" besitzt, die der Artikel benötigt. Zudem stimmen alle Keywords überein.

    Weiß jemand Rat?

    Danke!!

  • #2
    hat keiner einen Vorschlag?

    Kommentar


    • #3
      Kommt drauf en, wie die IDs in deinen Tabellen liegen.
      ich nehm mal an es sieht dem ähnlich:

      Tabelle: artikel
      Spalten: artikel_id | sprachen_id | keywords_id

      Tabelle: gutachter
      Spalten: gutachter_id | sprachen_id | keywords_id

      Ist ein mySQL-Problem (alsso kein PHP-Fortgeschritten). Vermutlich antwortet deshalb hier sonst niemand.
      Code:
      SELECT gutachter.* FROM gutachter INNER JOIN artikel ON (artikel.sprachen_id=gutachter.sprachen_id AND artikel.keywords_id=gutachter.keywords_id) WHERE artikel.artikel_id=1
      Gruß
      Der Desian
      Wenn dich was ankotzt, machs besser.

      Kommentar


      • #4
        Das ist ja gerade das Problem. Die ID's der Sprachen und der Keywords sind in anderen Tabellen gespeichert, da ein Artikel mehrere Sprachen bzw. mehrere Keywords aufweisen kann.

        D.h. z.B. ein Artikel hat die Sprache Deutsch und Englisch, als ID's 1 und 2.

        Der Gutachter kann Deutsch und Englisch, als ID's auch 1 und 2.

        Nun stehen die Gutachter ID's in der Tabelle gutachter_sprache und die Artikel ID's in der Tabelle artikel_sprache.

        Da möchte ich nun die übereinstimmungen haben

        Kommentar

        Lädt...
        X