Art Geschrieben 17. September 2003 Teilen Geschrieben 17. September 2003 hi, ich habe mehrere tabellen, in denen es ein feld gibt, das den besitzer des datensatzes angibt. also so ne art user berechtigung oder wie hier im forum der userid in den beiträgen. das sind so 6-8 tabellen. ich suche jetzt nach einer möglichst schnellen abfrage, ob ein bestimmter benutzer in diesen tabellen vorkommt. ich habe im moment sowas: "select table_1.id, table_2.id .... table_n.id from table_1, table_2 .... table_n where table_1.usrid='search_item' or table_2.usrid='search_item' .... or table_n.usrid='search_item' limit 0, 1" das einmalige vorkommen des gesuchten wertes reicht also vollkommen. gibts was einfacheres? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 17. September 2003 Teilen Geschrieben 17. September 2003 Original geschrieben von Art gibts was einfacheres? Ja, vorher nen vernünftiges Datenbankmodel entwerfen. Ansonsten mit der Abfrage leben oder 6-8 einzelne Abfragen auf die einzelnen Tabellen hintereinander absetzen, das sollte deutlich schneller sein. Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Art Geschrieben 17. September 2003 Autor Teilen Geschrieben 17. September 2003 Original geschrieben von Jaraz Ja, vorher nen vernünftiges Datenbankmodel entwerfen. nicht alles wo man ranmuss, ist auf eigenem mist gewachsen aber schlag mal was vor. jede tabelle stellt ein objekt dar. z.b. ein auto, ein haus, eine katze. jedes objekt kann genau einen besitzer haben. wobei ein besitzer natürlich mehrere häuser, autos usw. besitzen kann oder natürlich auch nur ein haus oder ein motorrad und ein motorrad usw. usw. wie sähe denn dein modell aus? im moment ist es so, das jedem objekt die besitzer-id zugeordnet ist. eine zuordnungstabelle hilft da auch nicht irgendwie weiter. aber nix genaues weiss man. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 17. September 2003 Teilen Geschrieben 17. September 2003 Original geschrieben von Art nicht alles wo man ranmuss, ist auf eigenem mist gewachsen Kenn ich, deswegen auch der Smily. Du könntest auch noch eine Tabelle erstellen in der die nötigen infos der anderen Tabellen gesammelt werden. Bedeutet natürlich bei einem Insert in die Tabellen auch die eine upzudaten. Ich hoffe es wird klar was ich meine! Nicht immer 8 Abfragen sondern eine Tabelle mit den anderen Konsistent halten und darauf die Abfrage machen. Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Art Geschrieben 17. September 2003 Autor Teilen Geschrieben 17. September 2003 siehe oben. aber erklär mal genauer bitte. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 17. September 2003 Teilen Geschrieben 17. September 2003 T1 uid, wert, name T2 uid, wert, beruf T3 uid, wert, farbe Du benötigst nun z.B. nur uid und wert, aber aus allen Tabellen. Also bastelst du dir eine Tabelle in der du alle uid, wert Kombinationen speicherst. T1-3 uid, wert Auf diese Tabelle machst du deine Abfrage. Knackpunkt, wenn sich einer der 3 Tabellen ändert, musst du auch deine ändern. Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Art Geschrieben 18. September 2003 Autor Teilen Geschrieben 18. September 2003 aber das klappt doch nur, wenn die kombination aus uid und wert eindeutig ist, oder? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 18. September 2003 Teilen Geschrieben 18. September 2003 Nö, nur wenn du auch aus der T1-3 wieder abhängig von einer anderen Tabelle löschen willst, musst du halt festhalten aus welcher Tabelle die uid, wert Kombination in T1-3 kommt. Diese Kombination aus den 3 Werte sollten dann eindeutig sein. Du hattest doch geschrieben, das es egal ist wie oft der User in den einzelnen Tabellen vorkommt, oder? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.