Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > PHP/MySQL

PHP/MySQL Alles rund um die Programmiersprache PHP sowie MySQL.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26887, Antworten: 4218
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3321, Antworten: 122
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 299, Antworten: 19
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7635, Antworten: 185
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 19, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 20, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 54, Antworten: 6
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 144, Antworten: 9
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 69, Antworten: 4
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50939, Antworten: 1395
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21.06.2007, 18:01   #1 (Direktlink)
Matze87
Gast
 
Beiträge: n/a
Standard Dringend Hilfe zu Outer Joins

Hi,

befassen uns gerade in der Schule mit Outer Joins.
Soweit so gut, nur...wir schreiben morgen darüber Schulaufgabe und, wider meinen Erwartungen, habe ich das Thma nicht auf die Reihe bekommen

Hätte vielleicht jemand kurz die Zeit, mir an Hand eines einfachen Beispiels den Outer JOin zu erklären ?
Wäre super - Ist wirklcih dringend, leider

Gruß Matze
  Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 21.06.2007, 18:32   #2 (Direktlink)
Forenmaskottchen
 
Registriert seit: 06.03.2005
Ort: Gera
Beiträge: 732
Standard

Hi,
vielleicht helfen dir diese 2 Links:
http://sql.1keydata.com/de/sql-outer-join.php
http://aktuell.de.selfhtml.org/artik...leftright_join

Wobei ich bemerken muss das man outer joins echt fast nie braucht ^^

mfg Phill
__________________
Aus Fehlern wird man klug, drum ist einer nicht genug!
Ich bin nur ein Opfer des Kapitalismus.
Phill ist offline   Mit Zitat antworten
Alt 21.06.2007, 18:42   #3 (Direktlink)
Matze87
Gast
 
Beiträge: n/a
Standard

Hi Phil und danke für die schnelle Antwort.
Ja, auf selfhtml hab ich mich auch schon rungesucht

Habe hier mal einen Outer Join rauskopiert

SELECT
RechnungsNr,
KundenNr,
Betrag,
Rechnungen_Oktober.Kartennummer,
Firma,
Inhaber,
Ablaufdatum
FROM Rechnungen_Oktober
LEFT JOIN Kreditkarte ON Kreditkarte.Kartennummer = Rechnungen_Oktober.Kartennummer

Kann man den so verstehen:

Wir wählen Rechnungnr, Kundennr, Betrag, Rechnung_Oktober.Kartennummer(dieses Feld ist
in einer anderen Tabelle "Kartennummer" ), Firma, Inhaber
und Ablaufdatum von der Tabelle Rechnungen_Oktober

Mit Left Join verweisen wir dann, dass die Schnittmenge beider Tabellen und die der linken
( in diesem Fall Rechnungnr, Kundennr, Betrag... ) ausgegeben werden

Kartennummer ist dann wieder eine eigene Tabelle, von der wir das Feld Kreditkarte
auswählen

Ist das soweit richtig ???

Und was macht genau " Kreditkarte ON Kreditkarte.Kartennummer = Rechnungen_Oktober.Kartennummer "
dieser Satz ?
  Mit Zitat antworten
Alt 21.06.2007, 20:12   #4 (Direktlink)
Forenmaskottchen
 
Registriert seit: 20.09.2005
Ort: Dresden
Alter: 21
Beiträge: 835
Standard

von outer joins habe ich noch nie etwas gehört. die heißen normalerweise einfach nur JOINS.

Ansonsten war deine Erklärung korrekt.
Code:
SELECT rechnungsnr, kundennr, betrag, R.kartennummer, firma, inhaber, ablaufdatum FROM rechnungen_oktober R LEFT JOIN kreditkarte K ON K.kartennummer = R.kartennummer
... rechnungen_oktober R LEFT JOIN kreditkarte K ON K.kartennummer = R.kartennummer... ist der eigentliche Teil der Verknüpfung beider Tabellen. Es werden nur die Zeilen ausgelesen, bei denen die Kartennummer aus der Tabelle rechnungen_oktober mit der aus der Tabelle kreditkarte übereinstimmen. Dabei ist zu beachten, dass die Tabelle rechnungen_oktober auch ohne Übereinstimmung bei bestimmten Zeilen komplett ausgelesen wird, da sie links vom Join steht (LEFT JOIN).

Du wirst die Arbeit schon packen
gago ist offline   Mit Zitat antworten
Alt 21.06.2007, 20:32   #5 (Direktlink)
Matze87
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von der.bozz
von outer joins habe ich noch nie etwas gehört. die heißen normalerweise einfach nur JOINS.

Ansonsten war deine Erklärung korrekt.
Code:
SELECT rechnungsnr, kundennr, betrag, R.kartennummer, firma, inhaber, ablaufdatum FROM rechnungen_oktober R LEFT JOIN kreditkarte K ON K.kartennummer = R.kartennummer
... rechnungen_oktober R LEFT JOIN kreditkarte K ON K.kartennummer = R.kartennummer... ist der eigentliche Teil der Verknüpfung beider Tabellen. Es werden nur die Zeilen ausgelesen, bei denen die Kartennummer aus der Tabelle rechnungen_oktober mit der aus der Tabelle kreditkarte übereinstimmen. Dabei ist zu beachten, dass die Tabelle rechnungen_oktober auch ohne Übereinstimmung bei bestimmten Zeilen komplett ausgelesen wird, da sie links vom Join steht (LEFT JOIN).

Du wirst die Arbeit schon packen

Hi Bozz; auch danke schonmal für die Antwort.
Uf..da bin ich ja schon ein bisschen beruhigter, dass der Teil stimmt
Aber:
Du schreibst, dass durch diesen letzen Befehl beide Datenfelder ausgelesen werden, egal ob sie übereinstimmen oder nicht ( Rechungen_oktober und Kreditkarten )
Aber beide werden doch aus der gleichen Tabelle ( Kartennummer ) genommen, dann bräuchte man diesen Abgleich doch gar nicht, oder?
  Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 22.06.2007, 06:19   #6 (Direktlink)
Forenmaskottchen
 
Registriert seit: 20.09.2005
Ort: Dresden
Alter: 21
Beiträge: 835
Standard

Hi,

dein Problem ist, dass du Tabellen und Spalten verwechselst. Die Tabellen sind kreditkarte und rechnungen_oktober und aus diesen beiden Tabellen wird jeweils die Spalte kartennummer ausgewählt.
Bei einem LEFT JOIN werden alle Zeilen der links vom JOIN stehenden Tabelle ausgegeben.
Bei einem INNER JOIN werden nur die Zeilen ausgegeben, bei denen es Übereinstimmungen mit dem Vergleichskriterium gab. Meines Erachtens würde dieser sich hier auch besser anbieten.
gago ist offline   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > PHP/MySQL

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an




Alle Zeitangaben in WEZ +2. Es ist jetzt 02:46 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2