Zuordnung

Hallo!
Ich habe eine Tabelle mit folgenden Spalten:

Artikel Rohstoff Anteil
ABC DEF01 10
ABC IHG01 20
ABC KLO01 70

Es handelt sich hierbei um Rezepturen. In dieser Tabelle befinden sich ca. 10000 Rezepturen analogem Aufbaus. Gibt es eine Möglichkeit alle Artikel herauszufiltern, welche die oben zu sehenden Rohstoffe ( alle drei) enthalten.

Vielen Dank im Voraus.

Hi Albert,

select Artikel from tabelle where Rohstoff in („DEF01“, „IHG01“, „KL001“)

Gruß Ralf

Vielen Dank,

habe es ausprobiert, aber die Abfrage bringt mir alle Artikel, wo auch nur einer der drei Rohstoffe enthaltenn ist. Die Abfrage sollte mir aber nur die Artikel liefern, wo alle drei Rohstoffe enthalten sind.

Gibt es da eine Mölglichkeit für???

Vielen Dank im Voraus.

Hi Albert,

die Abfrage bringt mir alle Artikel,
wo auch nur einer der drei Rohstoffe enthaltenn ist. Die
Abfrage sollte mir aber nur die Artikel liefern, wo alle drei
Rohstoffe enthalten sind.

diese Aufgabenstellung findet sich in diversen Foren unter der Rubrik „Kopfnüsse“: Die Information, die du suchst, verteilt sich über mehr als eine Zeile. Damit ist schon mal klar, dass Du eine Übermenge als Kreuzprodukt aus den Einzelinformationen konstruieren musst, das dann mit geeigneten Einschränkungen auf die von dir gesuchte Untermenge führt. Sobald sich die Fragestellung auf zwei oder vier Komponenten ändert, fängst Du wieder von vorne an.

Gruß Ralf

Hallo Albert,

mir ist nicht klar, ob Du

  1. eine Tabelle mit 4 Spalten hast, also Artikel Rohstoff Anteil,ABC DEF01 10,ABC IHG01 20,ABC KLO01 70 als Felder
  2. oder du eine Tabelle hast, die ein Feld hast das Artikel Rohstoff Anteil heißt und Einträge wie ABC DEF01 10,ABC IHG01 20,ABC KLO01 70 enthalten kann.

Peter

hi!

Vielen Dank,

habe es ausprobiert, aber die Abfrage bringt mir alle Artikel,
wo auch nur einer der drei Rohstoffe enthaltenn ist. Die
Abfrage sollte mir aber nur die Artikel liefern, wo alle drei
Rohstoffe enthalten sind.

Gibt es da eine Mölglichkeit für???

mehrere:
a) exists bzw. in -prüfung
b) sub-selects
c) …

z.b. a)
select a.Artikel
from tabelle a
where a.Rohstoff = „DEF01“
and exists (select 1 from tabelle b where a.artikel=b.artikel and b.rohstoff = „IHG01“)
and exists (select 1 from tabelle c where a.artikel=c.artikel and c.rohstoff = „KL001“)

grüße,
tomh