0

Select Statement in n:m Beziehung

Ich komme eigentlich vom T-SQL und fange gerade an, mich in Ninox Scripting einzuarbeiten. Und irgendwie komme ich mit der Syntax noch nicht zurecht.

Ich habe zwei Tabellen, in n:m Beziehung, also mit einer Zwischentabelle.

Tab A: Produkte

Tab B: Bauteile

Tab C: nm_Produkte_Bauteile

 

Außerdem eine Tabelle für Produktvorlagen mit ebenso einer n:m Beziehung zu den Bauteilen.

Tab D: Produktvorlagen

Tab E: nm_Produktvorlagen_Bauteile

 

In den Produktvorlagen werden zu einer Produktvorlage Bauteile hinzugefügt.

In den Produkten wird eine Vorlage ausgewählt (1:n) und mit einem Button/Script möchte ich nun die Bauteile aus der mit dem Produkt verknüpften Vorlage in die nm_Produkte_Bauteile einfügen.

Ich bekomme aktuell nicht mal die Select Abfrage zur Anzeige der Bauteile aus einer bestimmten Vorlage hin : / Irgendwie hat es mit der Syntax in Ninox noch nicht k lick gemacht. Bin noch zu sehr in SQL und versuche mit die PrimaryKeys auszuwerten zu verknüpfen, etc. Bin gerade etwas gefrustet.

Vielleicht hat ja jemand einen Tipp für mich.

VG

Arne

2 Antworten

null
    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Arne,

    es sollte etwa so gehen:

    ---

    let me:=this;
    for i in Produktvorlagen.'nm_Produktvorlagen_Bauteile' do
    let new:=create 'nm_Produkte_Bauteile';
    new.Produkte:=me;
    new.Bauteile:=i.Bauteile
    end

    ---

    mit select wählst du die gesamte Tabelle. Wenn du es in einem Datensatz ohne Select machst und stattdessen den Namen der Verknüpfung auswähls (Produktvorlagen in Tabelle Produkte) hast automatisch die auf diesen Datensatz gefilterte Auswahl. Man kann dan weiter mit Punktnotation zu der nächsten Verknüpfung gehen (Produktvorlagen.'nm_Produktvorlagen_Bauteile') und hat somit die Auswahlt aller Datensätze aus nm Tabelle. Jetzt muss man nur in der Schleife die Datensätze der anderen nm (nm_Produkte_Bauteile) erstellen und die Verknüpfungen zuweisen.

    Ich hoffe es war halbwegs verständlich.

    Leo

    • arne
    • vor 4 Jahren
    • Gemeldet - anzeigen

    auf jeden Fall verständlich. Es funktioniert. Wahnsinn. Ich hätte mit mehr Code gerechnet. Von T-SQL kommend muss ich echt umdenken. Vielen Dank, Leo! LG