0

Select ...WHERE xxx IN ... ?

Liebe Ninox Community, 

ich bin relativ neu im Thema Ninox und stecke momentan bei der Erstellung einer Selektion, die auf einem Array basiert fest. 

Folgendes Szenario: 

Tabelle 1: "Firmen"

Tabelle 2: "Kontakte" (N:1 Verknüpfung zu Tabelle Firmen)

Tabelle 3: "Aktivitäten" (Untertabelle von Tabelle Kontakte) 

Es gibt mehrere Kontakte zu einer Firma und zu jedem Kontakt mehrere Aktivitäten. 

Anforderung: In der Formularansicht der Firma möchte ich alle Aktivitäten zu den verknüpften Kontakten in einer Ansicht anzeigen lassen. 

Bisher habe ich folgendes Script erstellt: 

let myFirma := this.Nr;

let myKontakte := (select Kontakte where Firmen.Nr = myFirma);

let myAktivitäten := select Aktivitäten where .... 

hier komme ich nicht weiter. Egal was ich dort bisher eingegeben habe, es hat nicht funktioniert. Wenn ich nur einen Kontakt habe, funktioniert es. Wenn ich die einzelnen Kontakte mit einer "oder Verknüpfung" abfrage, funktioniert es auch, aber ich weiß nicht, wie ich auf das Array mit den vorher selektierten Kontakten zugreifen kann über "where"... . In Sql wäre das ... "WHERE xxx IN" ... 

Wäre prima, wenn mir hier jemand weiterhelfen könnte. 

Grüße

Chris 

6 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Chris, versuch's mal so:

    let me := this;
    select 'Aktivitäten' where Kontakte.Firmen = me
      • dibis
      • vor 2 Jahren
      • Gemeldet - anzeigen

      planox. pro ...wow, da bin ich sprachlos. So eine schnelle Rückmeldung und es funktioniert wie gewünscht ! 🙂👍 Ich habe es zwar noch nicht ganz verstanden und werde da nochmal intensiv drüber nachdenken müssen, aber ich bin erst mal einen großen Schritt weiter!

      Tausend Dank planox !

      Grüße

      Chris

      • Ninox-Professional
      • planoxpro
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Chris Ist eigentlich ganz einfach: Es sollen Aktivitäten angezeigt werden. Jede Aktivität ist mit einem Kontakt verknüpft und jeder Kontakt wiederum mit einer Firma. Es besteht also eine indirekte Verbindung zwischen 'Aktivitäten' und 'Firmen', die sich über den Pfad 'Kontakte.Firmen' abfragen und filtern lässt.

    • dibis
    • vor 2 Jahren
    • Gemeldet - anzeigen

    planox. pro Super, vielen Dank für die Erklärung!👍 So langsam komme ich dahinter😉 Gibt es trotzdem ein Pendant zu dem Sql "Select WHERE xxx IN" für den Fall, dass ich keine verknüpften Tabellen habe? D.h. eine Selektion liefert mir mehrere Werte (z.B. wie oben, mehrere Kontakte) und mit diesen Werten möchte ich eine andere Tabelle abfragen... 

    Grüße

    Chris

      • Ninox-Professional
      • planoxpro
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Chris 

      Nein, gibt es m W. nicht. Der select-Befehl funktioniert bei Ninox ganz anders. SQL ist als reine Abfragesprache sehr viel mächtiger als Ninox-Skript, das dafür viele zusätzliche Funktionen zur Verarbeitung und Aufbereitung von Daten bietet. Das sind zwei völlig verschiedene Ansätze.

      Es kommen immer wieder neue Nutzer, die nach SQL-Entsprechungen fragen. Aber denen kann man leider immer nur sagen: Vergiss SQL. Vorhandene Kenntnisse helfen bei Ninox leider überhaupt nicht (abgesehen vielleicht von einem Grundverständnis von Datenbanken).
       

    • dibis
    • vor 2 Jahren
    • Gemeldet - anzeigen

    planox. pro Ok, nochmals vielen Dank für die Erklärung und die schnelle Rückmeldung ! 👍Dann vergesse ich mal meine wenigen Sql Kenntnisse und versuche, mich an die "Ninox-Denke" zu gewöhnen😉 Da hat mir Deine Erklärung zu meiner ursprünglichen Frage auf jeden Fall sehr weitergeholfen. 

    Grüße & noch einen schönen Tag

    Chris

Content aside

  • Status Answered
  • vor 2 JahrenZuletzt aktiv
  • 6Antworten
  • 322Ansichten
  • 2 Folge bereits