Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Probleme beim erstellen eines Abfragekriteriums

Begonnen von malibum, November 14, 2016, 10:04:27

⏪ vorheriges - nächstes ⏩

malibum

Hallo zusammen,

momentan hänge ich bei einem Abfrageproblem bei meiner Produktdatenbank.

Und zwar möchte ich ein Abfragekriterium erstellen, dabei enthält ein Feld in meiner Tabelle möglicherweise mehrere Ländernamen. Nun soll mit dieser Abfrage eine Aufforderung für den Benutzer kommen wie bspw. "Bitte geben Sie das gewünschte Land ein:     ". Gibt der Benutzer nun bspw. USA ein, sollen alle Produkte aufgelistet werden die in diesem Land gesperrt sind. Jetzt ist dieses Produkt aber nicht nur in den USA gesperrt, sondern auch bspw. in China. Dies bedeutet ich gebe in mein Feld in der Tabelle nicht nur USA ein sondern " USA China". Die Abfrage soll also bewirken, dass alle Felder in dieser Spalte nach dem eingegebenen Namen überprüft werden sollen und im Ergebniss quasi aufgelistet werden.

Geht dies möglicherweise mit einem Wenn Kriterium?

Ich hoffe ich konnte es etwas verständlich beschreiben, wo jetzt mein Problem liegt.

Über Hilfe würde ich mich seeehr freuen  ;)

Lg

MzKlMu

Hallo,
als Kriterium:
Wie "*USA*" Oder Wie "*China*"
Aber das Konzept ist zu überdenken.
Die gesperrten Länder gehören als je ein Datensatz in eine extra Tabelle. In einem Feld steht daher immer nur ein Land. Sind 5 Länder gesperrt, so sind das in der extra Tabelle 5 Datensätze.
Wobei es auch eine eigene Ländertabelle geben sollte mit einer Zahl als Primärschlüssel und in der extra Tabelle für die gesperrten Länder wird nur diese Zahl gespeichert. Auswahl des Landes erfolgt dann mit einem Kombifeld. Damit sind auch gleich Tippfehler bei der Landeingabe ausgeschlossen. Wenn bei Deinem Konzept mal aus Versehen Cina eigegeben wird, so wird das nicht gefunden.

Du solltest das noch ändern.
Gruß Klaus

Beaker s.a.

Hallo Klaus,
ZitatDie gesperrten Länder gehören als je ein Datensatz in eine extra Tabelle. In einem Feld steht daher immer nur ein Land. Sind 5 Länder gesperrt, so sind das in der extra Tabelle 5 Datensätze.
Sollte die nicht aber auch einen FK zu den Produkten haben; - also n:m?
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

malibum

ok aber letztendlich könnte ich dies aber auch über ein Textsuchfeld lösen oder?

ebs17

Nicht ganz. Du brauchst eine UND-Verknüpfung von Werten, die in unterschiedlichen Datensätzen stehen. Das sieht dann als Ergebnisabfrage etwa so aus:
SELECT ProduktID
FROM MeineTabelle
WHERE Land IN ("USA", "China")
GROUP BY ProduktID
HAVING COUNT(*) = 2
Mit freundlichem Glück Auf!

Eberhard

MzKlMu

Hallo,
@ekkehard
ZitatSollte die nicht aber auch einen FK zu den Produkten haben;
Das habe ich jetzt einfach mal vorausgesetzt, sonst würde die Tabelle ja in der Luft hängen. Dachte das wäre klar. Und mit dem FK zum Land wäre das dann natürlich die n:m Beziehung. Aber Du hast recht, ich hätte es explizit erwähnen sollen.
Gruß Klaus