0

Where IN ()

Hallo zusammen,

 

entweder ich denke nicht ninoxisch genug oder ich übersehe da was in der Dokumentation. Folgende Abfrage habe ich:

 

let customer := this;
count(select ToDo where Projekt = first(select Projekt where Kunde = customer) and Erledigt = false)

 

dadurch wird aber nicht für alle Prokekte die ToDos ermittelt, sondern nur für den ersten, aber diese Abfrage hier geht nicht:

 

let customer := this;
count(select ToDo where Projekt in (select Projekt where Kunde = customer) and Erledigt = false)

 

Was muss ich machen damit das funktioniert?

3 Antworten

null
    • Torsten_Stang.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo,

     

    Du hast in der Tabelle 'ToDo' eine Verknüpfung zur Tabelle 'Projekt' und dort wiederum zur Tabelle 'Kunde'? Dann eigentlich so:

     

    let customer := this;
    cnt(select ToDo where Projekt.Kunde = customer and not Erledigt)

     

    lg, Torsten

    • Torsten_Stang.1
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Anmerkung: 'Erledigt' dürfte ein Ja/Nein-Feld sein - entgegen der Benamung kann das Feld aber drei Zustände haben: Leer/Ja/Nein, daher besser "not Erledigt" oder "Erledigt != true" abfragen.

    Die Problematik kann man umgehen, in dem man in den Feldeigenschaften "Eingabe erforderlich" auf "Ja" setzt und den Standardwert auf "Nein" (Achtung: das wirkt sich nur auf neue Datensätze aus, bereits bestehende sind mutmaßlich leer)

     

    lg, Torsten

    • Sergej_A
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Funktioniert! Daumen hoch hoch 3 weil schnell und richtig. <3

Content aside

  • vor 4 JahrenZuletzt aktiv
  • 3Antworten
  • 958Ansichten