Announcement

Collapse
No announcement yet.

Schnittmenge berechnen

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

  • Schnittmenge berechnen

    Hallo,<br>
    ich habe das Problem, das ich die Menge der Informationen berechnen muss, die gemeinsam in einem Kontext vorkommen.<p>
    Folgende Konstellation habe ich dafür gewählt:<br>
    1. Tabelle Wordfamiliy { ID }; <br>
    2. Tabelle Context { ID }; <br>
    3. Tabelle WordfamiliyContext { WORDFAMILIY, CONTEXT };<p>
    Ich benötige, die Sätze (Schnittmenge) aus der Tabelle Wordfamiliy, die gemeinsam in einem oder mehreren der angegebenen Contexte vorkommen.<p>
    Beispiel:<br>
    1. Sätze in Wordfamiliy [ 1, 2, 3, 4 ];
    2. Sätze in Conext [ 10, 11, 12, 13 ];
    3. Sätze in WordfamiliyContext [ {1,10}, {2,10}, {1,11}, {3,11}, {3,12} ]<p>
    Frage: Welche Sätze aus Wordfamiliy kommen gemeinsam im Kontext 10 und 11 vor.<p>
    Ergebnis: Wordfamiliy [ 1 ]<p>
    Da es bei der Abfrage darum geht beliebige viele Kontexte mit einander zuverbinden, kann ich die Abfrage nur bedingt in einer stored procedure abhandeln. Mein bisheriger Ansatz war, das SQL-Statement dynamisch zusamenzubauen. Das habe ich grundsätzlich gelöst. Leider sind meine Kenntnisse in SQL nicht soweit ausgereift, das ich in der Lage wäre das Statement selber zu formulieren.<p>
    Meine Frage an das Forum: Ist es überhaupt möglich und wie müste ich vorgehen um zu einer Lösung zukommen. Alle Ideen sind willkommen.<p>
    Gruss und Dank<br>
    Frank

  • #2
    Vielleicht etwas wie...

    select * from Wordfamiliy wf
    where (select count(*) from WordfamiliyContext wfc
    where wfc.wordfamily=wf.id and wfc.context in (10,11)) = 2

    Gruss
    K

    Comment


    • #3
      Hi Karsten,<p>
      super. Vielen Dank. Wäre ich nie drauf gekommen.<br>
      Fran

      Comment

      Working...
      X