0

Auswahl mit "nicht"-Eigenschaft

Hallo in die Runde vom Ahnungslosen:

Ausgangssituation: Es gibt eine Tabelle Projekte und eine Tabelle Vorgänge. Vorgänge kennt u.a. "Dokumenatation", "Frist", "Termin" und auch "Wiedervorlage". Außerdem ein J/N-Feld "erledigt".

Nun möchte ich gerne Ansicht erstellen, die mir alle Projekte anzeigt, in denen 

- KEIN Vorgang mit einer Wiedervorlage, die 

- NICHT erledigt ist

haben. Nur: wie krieg ich das hin?

Ich danke sehr für Unterstützung. Orkanhafte Grüße aus Hamburg Frank

17 Antworten

null
    • Maurice
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Wie sind die beiden Tabellen Projekte und Vorgänge miteinander verknüpft? Ist Vorgänge eine Untertabelle von Projekte?

    Grüße Maurice

    • Rechtsanwalt
    • Frank_DIPO2
    • vor 2 Jahren
    • Gemeldet - anzeigen

    hallo Maurice, keine Untertabelle, sondern Projekte Vorgänge 1:n. Ganz herzlich Frank

    • m2apla gmbh
    • Etienne_Scherrer
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Ich verstehe die Bedingungen noch nicht ganz kannst du mich korrigieren:

     * Der Vorgang muss eine Wiedervorlage haben
     * Der Vorgang soll erledigt sein

    Oder habe ich etwas falsch verstanden?

    Falls das korrekt wäre sollte eine Abfrage dieser Art funktionieren:

    select Projekte where 'Vorgänge'.'erledigt' and 'Vorgänge'.'Wiedervorlage' != null;

    Falls nicht erläutere bitte ein wenig genauer was das Endresultat sein sollte.

    • Rechtsanwalt
    • Frank_DIPO2
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Etienne

    Angezeigt werden sollen alle Projekte, bei denen es

    entweder gar KEINEN Vorgang "Wiedervorlage" gibt

    oder nur "Wiedervorlagen", die schon "erledigt" sind

    Hoffe, ich konnte es klarer ausdrücken. Danke für die Nachfrage! Ganz herzlich Frank 

    • Maurice
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Welcher Art ist das Feld Wiedervorlage?

    • Maurice
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Jetzt verstehe ich: die TAbelle Vorgänge hat die Einträge "Wiedervorlage", "Frist" etc. 

    select Projekte where 'Vorgänge'.Wiedervorlage=null or ('Vorgänge'.Wiedervorlage!=null and  'Vorgänge'.erledigt = true)

    Gruß Maurice

    • Rechtsanwalt
    • Frank_DIPO2
    • vor 2 Jahren
    • Gemeldet - anzeigen

    das klingt so wie wenn es das ausdrückt, was ich sagen will - also dem Ninox :) Vielen Dank! werde berichten.

    • Rechtsanwalt
    • Frank_DIPO2
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Sodale, Problem: Wiedervorlage ist eine mögliche Auswahl aus einem Auswahlfeld "Vorgangstyp" - Frist (1) usw, Wiedervorlage hat die Nummer 9

    Wie übersetze ich das jetzt in die richtige Logik von Maurice? 

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Ich werfe mal meinen Hut in den Ring.
    Es ist immer schwer, wenn man bröckchenweise Informationen erhält.
    So wie ich jetzt die Ausführungen von Frank verstehe:

    select Projekte where 'Vorgänge'.number(Vorgangstyp) != 9 or ('Vorgänge'.number(Vorgangstyp)=9 and 'Vorgänge'.erledigt = true)

    oder

    select Projekte where 'Vorgänge'.text(Vorgangstyp) != "Wiedervorlage" or ('Vorgänge'.text(Vorgangstyp)="Wiedervorlage" and 'Vorgänge'.erledigt = true)

    Das kann aber aufgrund der verwirrenden Angaben auch falsch sein. 
    Wobei Maurice hier die Hauptatbeit mit seiner Intuition geleistet hat.

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

    darf ich meine Kappe dazu werfen? ;)

     

    ('Vorgänge'.number(Vorgangstyp)=9 and 'Vorgänge'.erledigt = true) wird IMHO nicht wie gewünscht funktionieren - einzelnen Projekten können ja mehrere Vorgänge zugeordnet sein.

     

    Ich würde versuchen:

     

    select Projekte where cnt('Vorgänge' [number(Vorgangstyp)!=9])=0 or cnt('Vorgänge' [Vorgangstyp=9 and erledigt=true])>0

    • Rechtsanwalt
    • Frank_DIPO2
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Vielen Dank Uwe - das mit dem bröckchenhaft liegt daran, dass ich zwar weiß, was ich möchte, aber - qua non-IT-fex - nur mein Bestes geben kann, vollständig zu beschreiben - mit leider mäßigem Erfolg. Ich werd Deinen Ansatz gleich mal eingeben!

    Resultat: Angezeigt werden jetzt auch die Datensätze, bei denen es eine nicht-erledigte Wiedervorlage gibt.

    Ich versuch mich nochmal mit Beschreibung meines Problems:

    Projekt A hat KEINE Wiedervorlage eingetragen -> soll angezeigt werden

    Projekt B hat EINE Wiedervorlage eingetragen, die nicht erledigt ist -> soll nicht angezeigt werden

    Projekt C hat EINE Wiedervorlage eingetragen, die erledigt ist -> soll angezeigt werden

    Projekt D hat ZWEI Wiedervorlagen eingetragen, von denen eine erledigt ist, eine nicht -> soll nicht angezeigt werden.

     

    Vielen Dank für Eure Hirn-kcal! Ganz herzlich Frank

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Frank.
    Vorschlag: Mach mal eine Dummy-DB mit Beispiel-Daten und stell sie hier über einen DropBox-Link odwer was anderem rein.
    Dann wissen wir wie genau deine Verbindungen aussehen und auf welchen Feldarten die Abfrage aufgebaut ist.
    Dann kann man es sicher leichter nachvollziehen.

    • Maurice
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo,

    zu Torstens Einwand:

    ('Vorgänge'.number(Vorgangstyp)=9 and 'Vorgänge'.erledigt = true) wird IMHO nicht wie gewünscht funktionieren - einzelnen Projekten können ja mehrere Vorgänge zugeordnet sein.

    Weil die Wiedervorlage und das "erledigt" sich wohl auf den gleichen Vorgang beziehen soll, muss wohl eine for-Schleife über die Vorgänge laufen. Aber wie Uwe sagt: eine Dummy-DB ist sicherlich der richtige Ansatz.

    Gruß Maurice

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Vielleicht funktioniert ja dieses?
    (select Projekte)[not contains(concat('Vorgänge'.Vorgangstyp), "Wiedervorlage") or contains(concat('Vorgänge'.Vorgangstyp), "Wiedervorlage") and not contains(concat('Vorgänge'.erledigt), "Nein")]

    • Rechtsanwalt
    • Frank_DIPO2
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Der Ansatz von Torsten hat funktioniert. Vielen Dank!!!

    Und danke an alle :) dürfte ich noch um Aufklärung bitten, wie ich so eine DummyDB allen hier hätte zur Verfügung stellen können? Allen ein großartiges Wochenende, wir müssen jetzt die Leinen zurren, sonst geht der Laptop mit der funktionierenden Datenbank schwimmen:) Ganz herzlich Frank

    • Rechtsanwalt
    • Frank_DIPO2
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Der Ansatz von Torsten hat funktioniert. Vielen Dank!!!

    Und danke an alle :) dürfte ich noch um Aufklärung bitten, wie ich so eine DummyDB allen hier hätte zur Verfügung stellen können? Allen ein großartiges Wochenende, wir müssen jetzt die Leinen zurren, sonst geht der Laptop mit der funktionierenden Datenbank schwimmen:) Ganz herzlich Frank

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Freut mich, wenn es mit der Lösung von Torsten funktioniert.

Content aside

  • vor 2 JahrenZuletzt aktiv
  • 17Antworten
  • 269Ansichten