Einzelnen Beitrag anzeigen

Benutzerbild von LDericher
LDericher

Registriert seit: 29. Jan 2007
Ort: Erkelenz
224 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Abfrage über mehrere Tabellen... Wer hat den Durchblick?

  Alt 12. Aug 2009, 13:44
Danke für die schnellen Antworten erstmal!

Aber doch:

Ich hab bei euch das Gefühl dass ihr glaubt Ihr hättet einen denkfaulen (sowie vor allem schreibfaulen) Menschen vor euch der keine Lust auf Hausaufgaben hat... genau so hilfreich seid ihr meistens.

Ich habe ja bereits die PERSONEN_SPRACHEN und die Sprachen zu einer VIEW gejoint (hätt ich mir eigentlich auch sparen könne, da ich noch nicht genau weiß, ob die Datenbank oder mein Programm nun die Assoziation übernimmt.

Damit ich dann abfragen kann, wo bei gleicher PersonenID diese UND (AND, ein sehr hilfreiches Wort, in Delphi UND in SQL, ich weiß, denn ich bin NICHT dumm) jene Sprache steht, habe ich meine VIEW nochmal mehrmals mit sich selbst gejoint, damit ich pro Zeile Einen Menschen habe, mit zwei seiner beherrschten Sprachen. Weil ich aber bereits 30 Einträge in der Sprachentabelle habe und ich als Entwickler davon ausgehen muss, dass es bestimmt "Junkies" gibt, die davon alle beherrschen und nach denen man suchen will, müsste ich jetzt diese VIEW nicht nur ein Mal, sondern neunundzwanzig Mal mit sich selbst joinen, um die volle Funktionalität zu behalten. Bei mehr Sprachen entsprechend noch öfter.

Aber, wie ihr jetzt vielleicht ansatzweise verstehen könnt, das will ich nicht. Da entstehen dann Querys, die kein Normalsterblicher mehr warten kann und die bei zB nur einer geforderten Sprache viel zu inperformant sind, als dass diese Möglichkeit für mich ernsthaft in Betracht zu ziehen wäre.

Vielleicht seht ihr jetzt, dass ich mir sehr wohl darüber Gedanken gemacht habe, was ein JOIN ist oder was AND bedeutet. Ich habe sogar schon von SELECT gehört. das war doch so was wie 'gesamte Datenbank unwiderruflich löschen und den Server abschalten und zur Explosion bringen'?
Ja, ich nehme euch das Wort aus dem Mund, bevor ihr überhaupt daran gedacht habt, so eine Dummheit zu schreiben.

Lange Rede, kurzer Sinn: Kommt mir nicht - nie wieder - mit dummen Sprüchen, nur um eure eigene Inkompetenz zu kaschieren.

Weil: Habt ihr schon mal was von temporären Tabellen (auch Unterabfragen genannt) gehört? Davon werd ich gleich mal drei bis fünf bauen, vielleicht auch nur zwei, und die mal miteinander JOINen. Vielleicht bringt mich das der Weltherrschaft ein Stückchen näher.

Ganz dicken lieben Gruß,
Euer LDer.

@Mods/Admins: Wenn ihr mich für diesen Post bannen wollt, tut das ruhig. Blockiert meine IP und am besten meine MAC dazu, bis in alle Ewigkeit. Aber damit zeigt ihr nur, dass ihr genauso wenig auf meiner ... ach, wozu schreibe ich das? Macht doch eh keinen Sinn

Edit: Meine bisherige Query:
SQL-Code:
SELECT
  A.PersonenID,
  A.Sprache `Sprache1`,
  B.Sprache `Sprache2`,
  C.Sprache `Sprache3`,
  D.Sprache `Sprache4`,
  E.Sprache `Sprache5`,
  F.Sprache `Sprache6`
FROM
  (((((`tji_Sprachen_Personen` A
  INNER JOIN `tji_Sprachen_Personen` B USING(PersonenID))
  INNER JOIN `tji_Sprachen_Personen` C USING(PersonenID))
  INNER JOIN `tji_Sprachen_Personen` D USING(PersonenID))
  INNER JOIN `tji_Sprachen_Personen` E USING(PersonenID))
  INNER JOIN `tji_Sprachen_Personen` F USING(PersonenID))
WHERE
  A.Sprache='EnglischAND
  B.Sprache='DeutschAND
  C.Sprache='Französisch'
Fallt rihig drüber her und zerfleischt sie, is sowieso nix wert.
"Clicking this button you agree with our Verantwortungsverzicht und Abkommen."
Zitat von Ein unentschlossener Programmierer:
Enabled:=true or false or true or false or true or false;
  Mit Zitat antworten Zitat