MySQL-Statement

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

MySQL-Statement

Postby heinetz » 25. March 2007 23:55

Hallo Forum,

ich arbeite zwar schon seint Ewigkeiten mit MySQL, aber
ich bin nicht besonders gut darin und hab das immer mit
PHP ausgeglichen, indem ich mehrere SQL-Statements
kombiniert habe.

Jetzt würde ich es gerne mal richtig machen ;)

Meine Augabe kurz beschrieben:
------------------------------
Wenn ich ein Selectstatement per Join über zwei Tabellen
ausführe, dann bekomme ich als Ergebnis die Schittmenge
der beiden Tabellen, bei der ON gleich ist. Ach, die
Beschreibung macht keinen Sinn. Ich skiziere das mal ...

-> http://herrhein.com/public/temp/MySQL-Problem.PDF

geht das ?

danke und
beste gruesse,
heinetz
heinetz
 
Posts: 88
Joined: 02. January 2004 12:37

Postby Wiedmann » 26. March 2007 00:18

Also im Moment bekommst du das erste Resultset und würdest aber gern das 2. haben?

Tatsächlich kapier ich aber schon gar nicht welche Logik beim 2. dahinterstehen soll (was macht diese 3. Zeile da)?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby KingCrunch » 26. March 2007 02:05

JOIN ist nicht die Schnittmenge, sondern die Kombination aus beiden. (DISTINCT ist die Schnittmenge? Fachmann mal ran? :D). Das heißt, die Inhalte aus 2 werden mit den Inhalten aus 1 kombiniert, wo die ON-Klausel erfüllt ist. Das nur so grundlegend.

Die PDF wird bei mir als defekt deklariert. ;)
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby heinetz » 26. March 2007 09:16

hello,

in dem pdf war ein Fehler. deshalb hab ich's nochmal mit Photoshop überabeitet. Bei mir ist es heil. kann aber sein, dass das nicht richtig
funktioniert. Alternativ dazu gibt es ein jpg:

http://herrhein.com/public/temp/MySQL-Problem.jpg

JOIN ist nicht die Schnittmenge, sondern die Kombination aus beiden.


das meinte ich auch. Jetzt möchte ich die Inhalte aus beiden kombinieren,
ohne dass die ON-Klausel erfüllt ist. Mag sein, dass das ein grundsätzlicher
Denkfehler meinerseits und mein 'Wunsch-Resultset' geht garnicht ;(

beste gruesse,
heinetz
heinetz
 
Posts: 88
Joined: 02. January 2004 12:37

Postby KingCrunch » 26. March 2007 22:16

Sry, aber testest du auch links, bevor du postest? :lol:
http://herrhein.com/public/temp/MySQL-Problem.jpg wrote:Die Grafik "http://herrhein.com/public/temp/MySQL-Problem.jpg" kann nicht angezeigt werden, weil sie Fehler enthält.


heinetz wrote:Jetzt möchte ich die Inhalte aus beiden kombinieren,
ohne dass die ON-Klausel erfüllt ist.
Das würde bedeuten, dass du jede Zeile aus Tabelle1 mit jeder Tabelle2 kombinieren willst (karthesisches Produkt). Das wären dann allerdings Count(Tabelle1)*Count(Tabelle2) und kann böse groß werden ^^ Zwei Tabellen mit jeweils "lächerlichen" 100 Einträgen würden dann scho mal spontan 10.000 Einträge bei einer solchen Abfrage zurück geben.

Die ON-Klausel gibt ja an, welche Zeile von Tabelle2 mit welchen Zeilen von Tabelle1 kombiniert werden sollen (je nach JOIN-Typ zusätzlich mit "unkombinierbaren" Zeilen aus Tabell1, Tabelle2, beiden oder keiner von beiden ^^). In diesem Sinne frage ich mich doch ernsthaft, was du vorhast, wenn du wirklich das karthesische Produkt aus zwei Tabellen haben willst ^^
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25


Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 7 guests