Datensatz finden - Anzahl von Kriterien
In einer Tabelle soll nach der Existenz eines Datensatzes gesucht werden. 10 Kriterien sind verfügbar. Wenn bspw. 7 von 10 zutreffen, soll der erste Datensatz herangezogen werden.
Ich möchte vermeiden, ein "first(select Tabelle where ...)" zu schreiben, wo in Kombination mind. 7 aus 10 Filtern "true" sein müssen.
Hat jemand eine effizientere Lösung parat? Irgendwie, dass man die Kriterien einmal auflistet, die TRUE auszählt und das Ergebnis mit >=7 in das SELECT schreibt...
Grüße
3 Antworten
-
...wenn 7 zutreffen - treffen 3 nicht zu. Wäre das ein Ansatz?
Ich würde sonst ausm Bauch heraus das Zählen der zutreffenden, bzw. das Ranking dann schon im Datensatz selber lösen, über Formelfeld oder je Kriterium bei Änderung einen Counter/Checksumme anlegen...
-
Du könntest ein Array der Felder erstellen, in denen Deine geforderten Bedingungen true sind (Feld ist nicht leer, Auswahl ist 1 etc.) und alle "false" entfernen und zählen. Dann kannst Du dir eine Liste der Records ausgeben lassen, die diesen Bedingungen entsprechen. Mirko
for i in select TABELLE do if cnt([i.Zahl != null, i.Text != null, i.Text = "Inhalt", i.Auswahl = 1, ...][!= false]) >= 7 then i.number(Nr) end end
-
Mirko, vielen Dank. Genau die Syntax habe ich gebraucht. Stark Danke.
Content aside
- Status Answered
- vor 6 MonatenZuletzt aktiv
- 3Antworten
- 43Ansichten
-
3
Folge bereits