Supportnet / Forum / Datenbanken
Selektion von Inhalten
Frage
Hallo, Hallo
Vielleicht kann mir jemand helfen.
Das Problem ist folgendes:
Ich muss zwei Tabellen vergleichen.
In die Tabelle_1 sind die „Saubere“ Daten, z.B. 11111,
in die Tabelle_2 sind die „Unsaubere“ Daten, z.B. 8971111100.
Ich müsste so eine Selektion haben wo aus der Tabelle_2 die Daten rausselektiert werden, die die Inhalte der Tabelle_1 beinhalten, auch wenn sie mehrmals vorkommen sollten.
Vielen Dank in voraus
Gruss Matty
PS
Wenn ich mich nicht deutlich genug ausgedruckt habe, bitte fragen.
Antwort 1 von JohnnyLoser
Hi Matty,
so richtig verständlich ist es wirklich nicht.
a) Wieviele Datensätze befinden sich in der tbl2?
b) Ist es eine einmalige Aktion oder soll es eine immer wieder ausführbare Aktion werden?
c) Was verstehst Du unter "rausselektiert"? Etwa Gelöscht?
Also, wie es sich für mich liest, wäre es am sinnvollsten, die "Inhalte der Tabelle_1" in ein Array einzulesen und anschließend jeden Datensatz der Tabelle_2 in einer Schleife zu durchlaufen, worin wiederum in einer Schleife mit der InStr-Funktion geprüft wird, ob einer der Array-Werte enthalten ist. Falls ja, muß nur noch entsprechend reagiert werden.
Gruß
Johnny
so richtig verständlich ist es wirklich nicht.
a) Wieviele Datensätze befinden sich in der tbl2?
b) Ist es eine einmalige Aktion oder soll es eine immer wieder ausführbare Aktion werden?
c) Was verstehst Du unter "rausselektiert"? Etwa Gelöscht?
Also, wie es sich für mich liest, wäre es am sinnvollsten, die "Inhalte der Tabelle_1" in ein Array einzulesen und anschließend jeden Datensatz der Tabelle_2 in einer Schleife zu durchlaufen, worin wiederum in einer Schleife mit der InStr-Funktion geprüft wird, ob einer der Array-Werte enthalten ist. Falls ja, muß nur noch entsprechend reagiert werden.
Gruß
Johnny
Antwort 2 von Matty
Hallo Johnny,
vorerst danke für deine schnelle Antwort.
zu a)--In der tbl1 befinden sich zB 10000 Datensätze, in der tbl2 zB 15000 Datensätze. Das Ziel wäre es zu wissen ob die Daten von der tbl1 inhaltlich in der tbl2 vorhanden sind.
zu b)--Das sollte eine immer wieder ausführbahre Aktion sein.
zu c)--Vielleicht war meine falsche Ausdruckweise, unter "rausselektieren" habe ich gemeint die Daten der tbl1 an die Daten der tbl2 zuzuordnen.
Ich hoffe. dass meine Infos ausreichend sind.
Bis bald
Gruss Matty
vorerst danke für deine schnelle Antwort.
zu a)--In der tbl1 befinden sich zB 10000 Datensätze, in der tbl2 zB 15000 Datensätze. Das Ziel wäre es zu wissen ob die Daten von der tbl1 inhaltlich in der tbl2 vorhanden sind.
zu b)--Das sollte eine immer wieder ausführbahre Aktion sein.
zu c)--Vielleicht war meine falsche Ausdruckweise, unter "rausselektieren" habe ich gemeint die Daten der tbl1 an die Daten der tbl2 zuzuordnen.
Ich hoffe. dass meine Infos ausreichend sind.
Bis bald
Gruss Matty
Antwort 3 von JohnnyLoser
Hi Matty,
jetzt habe ich schon eine etwas bessere Vorstellung, wie die Geschichte ablaufen soll.
Allerdings gibt mir eine Aussage zu denken: "...die Daten der tbl1 an die Daten der tbl2 zuzuordnen."
Dein Besipiel im der Eröffnung (11111 -> 8971111100) läßt sehr viel Freiraum für Interpretationen, wie Deine Feldinhalte aussehen können.
Es ist etwas anderes, den String "11111" in 15000 anderen Strings zu finden, als eine Relation zwischen 11111 und 8971111100 aufzubauen.
Welche Datensätze sollen denn einander zugeordnet werden, wenn die Bedingungen mehrfach erfüllt werden?
Ich stelle mir die Feldinhalte mal so vor:
Daraus ergäben sich folgende mögliche Relationen: A1-A2, A1-B2, B1-A2, B1-C2, C1-B2, C1-C2
Fragt sich jetzt nur, welcher Datensatz in Tabelle1 welchem Datensatz in Tabelle2 zugeordnet werden soll.
Oder steckt ein anderes System dahinter?
Johnny
jetzt habe ich schon eine etwas bessere Vorstellung, wie die Geschichte ablaufen soll.
Allerdings gibt mir eine Aussage zu denken: "...die Daten der tbl1 an die Daten der tbl2 zuzuordnen."
Dein Besipiel im der Eröffnung (11111 -> 8971111100) läßt sehr viel Freiraum für Interpretationen, wie Deine Feldinhalte aussehen können.
Es ist etwas anderes, den String "11111" in 15000 anderen Strings zu finden, als eine Relation zwischen 11111 und 8971111100 aufzubauen.
Welche Datensätze sollen denn einander zugeordnet werden, wenn die Bedingungen mehrfach erfüllt werden?
Ich stelle mir die Feldinhalte mal so vor:
Tabelle1 Tabelle2
11111 A1 8971111100 A2
89711 B1 2233411111 B2
23341 C1 2334189711 C2Daraus ergäben sich folgende mögliche Relationen: A1-A2, A1-B2, B1-A2, B1-C2, C1-B2, C1-C2
Fragt sich jetzt nur, welcher Datensatz in Tabelle1 welchem Datensatz in Tabelle2 zugeordnet werden soll.
Oder steckt ein anderes System dahinter?
Johnny
Antwort 4 von Matty
Hallo Johnny,
was die Zuordnung betrifft, in der Tabelle1 sind 6 bis 7 stellige Zahlen, in der Tabelle2 9 bis 10 stellige. Also ist eher unwahrscheinlich,dass (wie du beschrieben hast) verschiedene Relationen zustande kommen, oder der Anzahl dieser sollte gering ausfallen.
Gruss Matty
was die Zuordnung betrifft, in der Tabelle1 sind 6 bis 7 stellige Zahlen, in der Tabelle2 9 bis 10 stellige. Also ist eher unwahrscheinlich,dass (wie du beschrieben hast) verschiedene Relationen zustande kommen, oder der Anzahl dieser sollte gering ausfallen.
Gruss Matty
Antwort 5 von JohnnyLoser
Hi Matty,
noch 'ne Frage:
Sollen aufgrund der Abfrage irgendwelche Daten geändert werden oder soll alles so bleiben, wie es ist und Du willst nur eine Datenblattansicht erhalten?
Der erste Fall wäre am einfachsten in einer Prozedur umzusetzen, für den zweiten Fall müßte man, der Komplexität halber, einige Unterabfragen bilden, in denen die Feldinhalte der zweiten Tabelle in ihre Bestandteile aufgelöst werden.
Wenn Du mir eine email-Adresse angibst, kann ich Dir ein Beispiel senden.
Gruß
Johnny
noch 'ne Frage:
Sollen aufgrund der Abfrage irgendwelche Daten geändert werden oder soll alles so bleiben, wie es ist und Du willst nur eine Datenblattansicht erhalten?
Der erste Fall wäre am einfachsten in einer Prozedur umzusetzen, für den zweiten Fall müßte man, der Komplexität halber, einige Unterabfragen bilden, in denen die Feldinhalte der zweiten Tabelle in ihre Bestandteile aufgelöst werden.
Wenn Du mir eine email-Adresse angibst, kann ich Dir ein Beispiel senden.
Gruß
Johnny
Antwort 6 von Matty
Hallo Johnny,
aufgrund der Abfrage soll alles so bleiben wie es ist, sollen keine Daten geändert werden. Ich will nur eine Datenblattansicht erhalten bzw. eine Tabelle.
Meine E-mail Adresse ist gerger@gmx.de
Nochmal vielen Dank für deine Mühe,
Gruss Matty
aufgrund der Abfrage soll alles so bleiben wie es ist, sollen keine Daten geändert werden. Ich will nur eine Datenblattansicht erhalten bzw. eine Tabelle.
Meine E-mail Adresse ist gerger@gmx.de
Nochmal vielen Dank für deine Mühe,
Gruss Matty
Antwort 7 von JohnnyLoser
Hi Matty,
habe Dir die DB soeben geschickt.
Hoffe es ist das, was Du Dir vorgestellt hast.
Gruß
Johnny
habe Dir die DB soeben geschickt.
Hoffe es ist das, was Du Dir vorgestellt hast.
Gruß
Johnny
Antwort 8 von Matty
Hallo Johnny,
es ist genau was ich mir vorgestellt habe.
Vielen Dank nochmal,
Mfg Matty
es ist genau was ich mir vorgestellt habe.
Vielen Dank nochmal,
Mfg Matty

