Hallo,
ich möchte herausfinden, ob eine Untermenge in einer anderen Untermenge enthalten ist.
Die fachliche Anforderung ist: ich will das Material finden, das zu einer Stückliste (BOM) hinzugefügt werden darf.
Beispiel:
Stueckliste 1 darf von den Abteilungen 1 und 2 benutzt werden.
Nur Material darf hinzugefügt werden, das von den Abteilungen 1 UND 2 benutzt werden darf.
Im Beispiel unten wäre das Material 1 und 4.
create table materiel_dept( materiel int not null, dept int not null )
go
create table bom_dept( bom int not null, dept int not null )
go
insert into materiel_dept( materiel, dept) values (1,1)
insert into materiel_dept( materiel, dept) values (1,2)
insert into materiel_dept( materiel, dept) values (1,3)
insert into materiel_dept( materiel, dept) values (2,1)
insert into materiel_dept( materiel, dept) values (3,2)
insert into materiel_dept( materiel, dept) values (4,1)
insert into materiel_dept( materiel, dept) values (4,2)
insert into bom_dept(bom,dept) values(1,1)
insert into bom_dept(bom,dept) values(1,2)
Ich möchte alles Material lesen, das einer gegebenen Stückliste hinzugefügt werden darf (hier: Stückliste=bom=1).
Zur Stückliste 1 gehören die Abteilungen (dept) 1 und 2.
Also muss ich für jedes Material nachsehen, ob es Rechte für die Abteilungen 1 und 2 hat.
Das wären das Material 1 und 4.
Die üblichen Verdächtigen (correlated subqueries, all / in Operatoren) passen irgendwie nicht.
Irgendwelche Vorschläge?
ich möchte herausfinden, ob eine Untermenge in einer anderen Untermenge enthalten ist.
Die fachliche Anforderung ist: ich will das Material finden, das zu einer Stückliste (BOM) hinzugefügt werden darf.
Beispiel:
Stueckliste 1 darf von den Abteilungen 1 und 2 benutzt werden.
Nur Material darf hinzugefügt werden, das von den Abteilungen 1 UND 2 benutzt werden darf.
Im Beispiel unten wäre das Material 1 und 4.
create table materiel_dept( materiel int not null, dept int not null )
go
create table bom_dept( bom int not null, dept int not null )
go
insert into materiel_dept( materiel, dept) values (1,1)
insert into materiel_dept( materiel, dept) values (1,2)
insert into materiel_dept( materiel, dept) values (1,3)
insert into materiel_dept( materiel, dept) values (2,1)
insert into materiel_dept( materiel, dept) values (3,2)
insert into materiel_dept( materiel, dept) values (4,1)
insert into materiel_dept( materiel, dept) values (4,2)
insert into bom_dept(bom,dept) values(1,1)
insert into bom_dept(bom,dept) values(1,2)
Ich möchte alles Material lesen, das einer gegebenen Stückliste hinzugefügt werden darf (hier: Stückliste=bom=1).
Zur Stückliste 1 gehören die Abteilungen (dept) 1 und 2.
Also muss ich für jedes Material nachsehen, ob es Rechte für die Abteilungen 1 und 2 hat.
Das wären das Material 1 und 4.
Die üblichen Verdächtigen (correlated subqueries, all / in Operatoren) passen irgendwie nicht.
Irgendwelche Vorschläge?
Comment