SQL-Abfrage müssen bestimmte Zählungen von dataelement erhalten

hier ist das ganze bild Es gibt einen Tisch (Tischprogrammteilnehmer), der alle Teilnehmer aller Programme speichert, es gibt noch eine Tabelle (Tabellenprogramme), die alle Programme speichert. Was ich erreichen muss, ist folgendes:

  1. Erwerben Sie die Programme, bei denen ein Benutzer mehr als ein Programm besucht hat (getan)
  2. Erwerben Sie die anderen Programme (ab Schritt 1), dass ein Benutzer an einem einzigen Programm teilnahm
  3. Erwerben Sie die Anzahl der Ereignisse, die von zwei Programmen, die von den Benutzern besucht werden.

Beispieltabelle (Programmteilnehmer)

UserID Program 1 2 1 3 2 2 2 4 2 5 3 1 3 2 3 5 3 6 3 7 4 5 4 6 4 7 5 4 5 5 5 6 5 7 

Beispielausgabe

  • prog 2 – ASSOCIATED PROGRAMME (3)
  • prog 2 – OCCURENCES (1)
  • prog 2 – ASSOCIATED PROGRAMME (4)
  • prog 2 – OCCURENCES (1)
  • prog 2 – ASSOCIATED PROGRAMME (6)
  • prog 2 – OCCURENCES (1)
  • prog 2 – ASSOCIATED PROGRAMME (7)
  • prog 2 – OCCURENCES (1)
  • prog 4 – ASSOCIATED PROGRAMME (2)
  • prog 4 – OCCURENCES (1)
  • prog 4 – ASSOCIATED PROGRAMME (5)
  • prog 4 – OCCURENCES (2)
  • prog 4 – ASSOCIATED PROGRAMME (6)
  • prog 4 – OCCURENCES (1)
  • prog 4 – ASSOCIATED PROGRAMME (7)
  • prog 4 – OCCURENCES (1)
  • prog 5 – ASSOCIATED PROGRAMME (4)
  • prog 5 – OCCURENCES (2)
  • prog 5 – ASSOCIATED PROGRAMME (6)
  • prog 5 – OCCURENCES (3)
  • prog 5 – ASSOCIATED PROGRAMME (7)
  • prog 5 – OCCURENCES (3)
  • prog 6 – ASSOCIATED PROGRAMME (2)
  • prog 6 – OCCURENCES (1)
  • prog 6 – ASSOCIATED PROGRAMME (5)
  • prog 6 – OCCURENCES (3)
  • prog 6 – ASSOCIATED PROGRAMME (7)
  • prog 6 – OCCURENCES (3)
  • prog 7 – ASSOCIATED PROGRAMME (2)
  • prog 7 – OCCURENCES (1)
  • prog 7 – ASSOCIATED PROGRAMME (4)
  • prog 7 – OCCURENCES (1)
  • prog 7 – ASSOCIATED PROGRAMME (5)
  • prog 7 – OCCURENCES (3)
  • prog 7 – ASSOCIATED PROGRAMME (6)
  • prog 7 – OCCURENCES (3)

Das wird in ein datagrid gehen, das so etwas wie:

  prog 1 prog 2 prog 3 prog 4 prog 5 prog 6 prog 7 prog 1 prog 2 1 1 1 7 prog 3 1 prog 4 1 2 1 1 prog 5 2 3 3 prog 6 1 3 3 prog 7 1 1 3 3 

Wenn mir mehr Erklärung nötig ist, lass es mich wissen.

Ich habe ggf. vorhandenen Code.

Was du verlangst, heißt Pivot-Tisch oder Kreuztabellen-Bericht. Wie Sie es implementieren, hängt von Ihrem RBDMS ab. Einige databaseen wie Oracle haben in functionalität gebaut , um dies zu tun. In anderen wie MySQL musst du ein bisschen mehr Arbeit machen .

LOL sorry jeder, ich habe tatsächlich die notwendigen data in der Abfrage erworben, aber ich war zu berücksichtigen, dass das abgefragte Programm selbst zurückkehrte. und ich muss nur einen Zähler zu jedem Programm hinzufügen, das zurückgegeben wird.

So glaube ich, dass ich alles bekommen kann, um jetzt zu arbeiten. Vielen Dank aber, und diese Seite ist EHRFÜRCHTIG. Ich habe große Hilfe in der vergangenen Woche getriggers einige Probleme, die ich hatte