Abfrage von mehreren Kriterien aus verschiedenen Tabellen
Hallo zusammen,
ich bin noch recht neu im Programmieren von Ninox und stoße in diesem Fall an meine Grenzen.
Folgende Situation:
Ich habe 3 Tabellen
Tabelle 1: „Dateien“ Auflistung aller verfügbarer Dateien, die zusätzlich verschiedenen Kategorien zugeordnet wurden [KATEGORIE 1, KATEGORIE 2,
KATEGORIE 3, KATEGORIE 4,(Mehrfachauswahl)]
Tabelle 2: "Portale" Auflistung aller verfügbarer Portale. [NAME (Text)]
Tabelle 3: "Uploads" beinhaltet die Verknüpfung auf die jeweilige Datei und das jeweilige Portal. Des Weiteren ist hier eine Info hinterlegt, ob der
Upload genehmigt wurde. [DATEI, PORTAL, GENEHMIGT (Ja-Nein-Feld)]
In der Tabelle „Portale“ möchte ich jetzt gerne Funktionsfelder hinzufügen, die mir einen Überblick über die Uploads nach verschiedenen Kriterien geben.
Beispielsweise: die Anzahl aller genehmigter Uploads auf besagtes Portal von Dateien der Kategorie 1.
Habe mich diesbezüglich durchs Forum gelesen, aber aufgrund der Abfrage von verschiedenen Bedingungen aus mehreren Tabellen bekomme ich keine brauchbaren Ergebnisse. Da fehlt mir das Know-how, um die Formeln entsprechend zu ergänzen / zu erweitern.
Vielleicht kann mir jemand weiterhelfen.
Vielen Dank im Voraus.
3 Antworten
-
Hallo
da gibt es verschiedene Möglichkeiten. zB ein Auswahlfeld mit den Kategorien in der Tabelle Portal und dann eine Ansicht, wo du als eine Variable die Auswahl nimmst:
let me:=this;
select Dateien where text(me.Auswahlfeld)= contains(text(chosen(Mehrfachauswahlfeld))) and Uploads.GENEHMIGT=true
Auswahlfeld steht hier für das Auswahlfeld in Portale, beim Mehrfachauswahlfeld musst du natürlich den Namen des Feldes in "Dateien" nehmen.
Die 2. Bedingung wird, da select auf die Tabelle Dateien zurückgreift, von dieser Tabelle aus auf Uploads geführt.
Bedingung ist natürlich, dass die Auswahlschreibweisen in Mehrfachauswahl und Auswahl gleich sind.
Aber das Prinzip ist immer gleich: du kannst mit Tabellenname.Feldname Felder jeder Tabelle abrufen und Bedingungen mit and kombinieren.
lg
Arsène
-
Vielen lieben Dank für deine schnelle Antwort.
Ich werde es nachher direkt mal ausprobieren.
LG Dennis -
Hat geklappt, Super!
Vielen Dank Arsène
LG Dennis
Content aside
- vor 3 JahrenZuletzt aktiv
- 3Antworten
- 272Ansichten