php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.12.2004, 09:13  
Gast
 
Beiträge: n/a
Standard 2 Tabellen verknüpfen, Problem

Hallo Ihr,

ich habe folgenden MySQL Befehl in meiner PHP-Datei:

Code:
$sql = "SELECT a.id, a.kennzahl, a.swreihe, a.sw1art, a.sw1, a.sw2, a.sw3, a.sortsw1, a.sortsw2, a.sortsw3, a.titeltyp FROM schlagworte a LEFT JOIN haupttabelle b on a.kennzahl = b.kennzahl WHERE a.titeltyp = 'Nur Print' OR a.titeltyp = 'Print/HTML' ORDER BY a.sortsw1, a.sortsw2, a.sortsw3, b.hauptstiwo, b.nebenstiwos ASC";
Wie man sehen kann, verknüpfe ich beide Tabellen anhand der Kennzahl. Das Problem ist nun, dass es sein kann das in Tabelle a bei sw1art ein v vorkommt und bei Kennzahl kein Wert steht. Wenn dem so ist, habe ich natürlich ein Problem. Könnte ich hier irgendwie noch eine OR-Anweisung mit einbringen, so dass diese Kennzahl mit Wert "v" bei sw1art aus der Tabelle schlagworte direkt übernommen wird???
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.12.2004, 10:11  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.232
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Was meinst du mit "direkt übernommen"?

Sieht doch alles gut aus und durch das LEFT JOIN kriegst du doch auch die Werte aus a, die in b nicht vorkommen. Wo liegt das Problem?
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline   Mit Zitat antworten
Alt 29.12.2004, 10:26  
Gast
 
Beiträge: n/a
Standard

Hmm also ich habe das Problem, wenn die Kennzahl in Tabelle a nicht vorkommt, listet der mir nicht die Einträge auf und ich denke es liegt daran, dass er das mit Tabelle b verknüpfen will aber nicht kann, weil eine leere Kennzahl taucht in Tabelle b logischerweise nicht auf.
  Mit Zitat antworten
Alt 29.12.2004, 10:38  
Gast
 
Beiträge: n/a
Standard

eventuell so: ???
Code:
...
FROM schlagworte a
LEFT JOIN haupttabelle b
   ON (a.kennzahl = b.kennzahl)
   OR ((a.swart = 'v') AND (a.kennzahl <> b.kennzahl))
WHERE
...
ohne Gewähr
mfG -dilemma-
  Mit Zitat antworten
Alt 29.12.2004, 10:39  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.232
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Jepp. Nun verstehe ich. Eine kurze Einführung in Join. Es gibt prinzipiell vier Typen von JOINS:

LEFT [OUTER] JOINS
RIGHT [OUTER] JOINS
[INNER] JOIN
FULL [OUUTER] JOIN

Du hast einen LEFT OUTER JOIN bzw. kurz LEFT JOIN gemacht.

Die Unterschiede:
Left outer join gibt alle Ergebnisse, die in a vorkommen, egal ob sie in b enthalten sind oder nicht.

Right outer join gibt alle Ergebnisse, wenn sie in b vorkommen (also rechts), egal ob in a oder nicht.

Inner join bzw. ein "normaler" join gibt alle Ergebnisse, die immer in beiden Tabellen vorkommen.

Full outer join gibt alle Ergebnisse, die in a oder b vorkommen oder halt in beiden, zurück.

Such dir das für deine bedürfnisse passende raus

btw. Die Where- Klausel müsste auch berücksichtigen, dass eine zeile in Tabelle a nicht vorkommt.
mepeisen ist offline   Mit Zitat antworten
Alt 30.12.2004, 09:44  
Gast
 
Beiträge: n/a
Standard

Also danke erst einmal für die Hinweise...Problem bei Dilemmas Hinweis: irgendwie befindet er sich nach der Anweisung in einer Endlosschleife...Anzeige = 0, aber man merkt wie der Rechner arbeitet und das fortlaufend. Hat einer eine Idee?
  Mit Zitat antworten
Alt 30.12.2004, 09:53  
Gast
 
Beiträge: n/a
Standard

Huii habs doch gepackt und zwar so:

$sql = "SELECT a.id, a.kennzahl, a.swreihe, a.sw1art, a.sw1, a.sw2, a.sw3, a.sortsw1, a.sortsw2, a.sortsw3, a.titeltyp FROM schlagworte a LEFT OUTER JOIN haupttabelle b ON a.kennzahl = b.kennzahl WHERE a.titeltyp = 'Nur Print' OR a.titeltyp = 'Print/HTML' ORDER BY a.sortsw1, a.sortsw2, a.sortsw3 ASC";

Kann man da noch etwas verbessern oder sieht der Code gut aus?
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP Array in MYSQL Tabellen schreiben Matt Datenbanken 1 26.02.2008 19:43
Volltext-Suche Problem - 2 verschiedene Tabellen Datenbanken 1 18.09.2006 16:32
Problem mit dem Hinzfügen von Tabellen durch Variable gameco PHP Tipps 2006 12 20.07.2006 12:44
[Suche] Hilfe zu einem Tabellen Verknüpfungs Problem &lt;Daniel&gt; Datenbanken 3 10.07.2006 15:15
einträge aus 2 tabellen sortieren Tschuu Datenbanken 11 20.12.2005 08:21
Abfrage mehrerer Tabellen per PHP (Code vereinfachen) PHP Tipps 2007 4 18.12.2005 12:34
tabellen maße problem me HTML, Usability und Barrierefreiheit 5 07.11.2005 12:49
MySQL Daten aus verknüpften Tabellen auslesen ? PHP Tipps 2005-2 2 27.06.2005 03:21
[HTML] Tabellen Problem Chr!s HTML, Usability und Barrierefreiheit 12 25.05.2005 14:28
[Erledigt] Hilfe - Problem mit Warenkorb PHP Tipps 2004 1 26.11.2004 11:32
problem mit COUNT in verbindung mit zwei tabellen PHS Datenbanken 6 13.10.2004 10:09
problem mit einer abfrage über mehrere tabellen! PHP Tipps 2004 1 12.10.2004 18:54
über PHP Daten in MySQL Tabellen updaten -- Problem PHP Tipps 2004 4 27.09.2004 21:34
2 Tabellen kleines Problem.... Datenbanken 7 10.08.2004 13:55
tabellen problem HTML, Usability und Barrierefreiheit 15 11.06.2004 14:26

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
java tabellen verknüpfen, tablen verknüpfen java mysql, java zwei tabellen verknüpfen, tabellen verknüpfen java, java tabellen verbinden, php 2 tabellen verknüpfen, wie kann ich 2 google tabellen verknüpfen, sql 2 tabellen verbinden quell code, mysql datenbank zwei tabellen php warenkorb, php sql dateien verbinden join, mysql tabellen verbinden join java quellcode, java datenbank tabellen verknüpfen, java @table mehrere tabellen einbinden, 2 tabellen verbinden inner join, tabelle a verknüpft mit tabelle b, 2 html tabellen veknüpfen, java 2 tabellen verknüpfen, mehrer tabellen mit java verknüpfen, java 2 abfragen verknüpfen, php werte aus mehreren tabellen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:17 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.