Neuigkeiten:

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

Mobiles Hauptmenü

Verknüpfen von drei Tabellen

Begonnen von KurLam, Februar 08, 2012, 19:51:29

⏪ vorheriges - nächstes ⏩

KurLam

Hallo Leute,
ich bin ein frischer Anfänger was Access angeht und deshalb hoffe ich, dass Ihr mir helfen könnt.
Zu meinem Problem:
Ich habe drei Tabellen
1) tbl title_id/name
2) tbl title_id/datum
3) tbl titlevariations

Die erste Tabelle enthält Filmnamen, wobei jeder Filmname eine title_id besitzt.
Die zweite Tabelle enthällt Daten die angeben wann die Filme gespielt wurden, aber keine Filmnamen sondern nur die title_ids. Das Problem ist hier aber, dass die ids nicht immer identisch sind mit denen aus der ersten Tabelle (z.B. 0011.1 anstatt 0011, usw). Manche stimmen aber wieder überein.
Die dritte Tabelle enthält einerseits die title_ids (0011) der Filmnamen aus der ersten Tabelle, andererseits die zugeordneten variation_ids (0011.1) aus der zweiten Tabelle.

Ich möchte nun eine Abfrage starten, so dass ich zu jeden Filmnamen (Tabelle 1) das Aufführungsdatum (Tabelle 2) habe.
Wie verknüpfe ich nun meine drei Tabellen, so dass das funktioniert. Mir is schon irgendwie klar, dass die Tabelle 3 eine Schlüsseltabelle sein muss, aber irgendwie habe ich die richtige Kombination noch nicht rausbekommen.
Wenn ich Tabelle 1+2 abfrage bekomme ich 8 Treffer von 39. Das liegt aber daran, dass in Tabelle 2, 8 Filme die korrekte title_id haben wie in Tabelle 1. Der Rest hat variation_ids.

Hoffe Ihr könnt mir helfen.

Mfg

DF6GL

Hallo,

gerade weil "Anfänger"  rate ich dringend zum "Studium"  eines Access-Grundlagen-Tutorials...

Der Tabellenaufbau liest und hört sich chaotisch an und wird so Dir graue Haare bescheren, wenn die DB anschliessend ernsthaft betrieben werden soll.


Lies u. a. die Links #1 - #3 in meiner Signatur durch, speziell

http://www.dbwiki.net/wiki/Access_Anf%C3%A4nger:_Grundlagen_des_Datenbank-Designs



Sorry für die "harten" Worte,   :)  sind nicht bös gemeint, sie sollen Dich nur vor Frust bewahren...


Vor allen Dingen:

-- Konzept erstellen (Welche Aufgabe soll die DB haben (was soll sie leisten) , wie soll mit der DB gearbeitet werden)
-- KEINE Leer- und Sonderzeichen in Namen benutzen und vernünftige/klare Benamsung einsetzen
-- auf reservierte Wörter verzichten
-- in JEDER Tabelle Primärschlüssel(felder) benutzen
-- Datenanalyse betreiben , Tabellen  normalisieren und Beziehungen setzen
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

KurLam

Ja ich weiss dass es schwer für mich werden wird.
Aber: Ich will garkeine Datenbank erstellen. sondern aus einer bestehenden etwas auslesen.

Ich bin Filmstudent und muss Listen erstellen die die erfolgreichsten Filme 1934 in verschiedenen Städten beinhalten.
Die Datenbank, die ich nutze ist CinemaContext.

Habe mir die Datensätze nun auf meinen Rechner gezogen und muss die nun mit access auswerten.
Leider kann man die Abfragen nicht online in der Datenbank machen, sondern man kann sich nur die Datensätze runterziehen.

Also habe ich mir den Datensatz gezogen der alle Filme enthält, die 1934 in Geleen liefen. Das sind z.B. 101 Filme
Dann habe ich mir den Datensatz besorgt wieviele Vorstellungen es in diesem Jahr gab. Das sind z.B. 104, was bedeutet 3 Filme liefen zweimal, oder einer viermal.

Wie oben beschrieben habe ich nur das Problem, dass die title_id der einen Tabelle (da sind Titelname und title_ID drin) nicht zu der Tabelle passt in der das Datum der Vorstellung ist (diese Tabelle enthällt title_id und Datum). Wenn ich title_id (tabelle1) mit title_id (tabelle 2) verknüpfe dann spuckt er mir nur 27 Treffer aus anstatt 104. Das liegt daran, dass nur diese title_ids übereinstimmen. Der Rest der Daten des Datums haben andere title_ids. Diese variablen IDs sind aber nun in einer Tabelle (3) enthalten; diese enthält title_id und variant_id. Ich muss also wohl eine Brücke bauen mit dieser Tabelle, aber ich weiß nicht wie ich die verknüpfen soll. Also quasi der Tabelle Filmname (1) variant_ids zuordnen, wobei jeder Film auch wieder 2 variant_ids haben kann. und diese Tabelle dann mit der Datumstabelle abgleichen.
Im Grunde will ich, dass ich jedes Datum einmal habe und dazu den passenden Film. Der Film kann also öfter auftauchen.
Wie soll ich es besser erklären?

Ich weiss, dass ich null Ahnung habe, und eigentlich ist so ein datenbankzeug nicht mein Ding, aber da muss ich nunmal durch. Wenn es euch hilft kann ich euch Die Datenbank Auszüge auch schicken damit ihr sie euch mal anschaut.

MfG
Kurt

delta

(da sind Titelname und title_ID drin)
(diese Tabelle enthällt title_id und Datum)

Vielleicht kannst Du mal aktuelle Werte für die Feldwerte posten - ich kann mir irgendwie nicht vorstellen, was da bei Dir los ist :o

DF6GL

Hallo,

ok, das Beste ist, mal eine datenreduzierte, aber inhaltlich aussagekräftige DB hier hochzuladen...

"dass die title_id der einen Tabelle (da sind Titelname und title_ID drin) nicht zu der Tabelle passt in der das Datum der Vorstellung ist (diese Tabelle enthällt title_id und Datum)."


Mhmm, das sagt doch aber aus, dass Title_ID im Stande ist, eine Beziehung der beiden Tabellen herzustellen...


Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access