php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.07.2006, 15:27  
Benutzer
 
Registriert seit: 27.04.2006
Beiträge: 42
Tommek
Standard Join auf 2 verschiedene Felder

Moin ich habe einen Join der ungefähr wie folgt aussieht....

SELECT User_ID, User_Name, User_Beruf
FROM user_beruf
JOIN user_daten ON user_beruf.User_ID = user_daten.User_ID
JOIN users ON user_beruf.User_ID = users.id
WHERE 1

Diesen möchte ich um folgendes ergänzen

user_firma
User_ID | Firma_ID .....

firmen
Firma_ID | Name ......

Nun kann ich leicht einen Join auf user_firma machen wegen der User_ID. Hierbei zeigt mir das Result allerdings nur Leute die auch da drin stehen, kann ich das umgehen? Bei Leuten die nicht dadrin stehen soll er eben nichts in diesem Feld zurückgeben.
Desweiteren will ich den Firmennamen mit in diesem query abhandeln, funktioniert das?

Oder muss ich es auf einzelne Queries aufteilen?


grüße
__________________
In der Ehe ist wohl der Hauptgrund für die vielen Scheidungen zu sehen. [Maj. Frank Burns]
Tommek ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 25.07.2006, 15:32  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Was du suchst ist ein LEFT JOIN - dabei bleiben alle Einträge aus der linken Tabelle erhalten, auch wenn ein Eintrag keinen Partner in der rechten Tabelle findet. Die Felder der rechten Tabelel haben dann den Wert NULL.
__________________
Today you...Tomorrow me.
agrajag ist offline   Mit Zitat antworten
Alt 25.07.2006, 15:51  
Benutzer
 
Registriert seit: 27.04.2006
Beiträge: 42
Tommek
Standard

Ok das hilft bei Problem eins. Danke

Was ist mit dem zweiten Problem wie baue ich den Join auf "Firma_ID" ein?
__________________
In der Ehe ist wohl der Hauptgrund für die vielen Scheidungen zu sehen. [Maj. Frank Burns]
Tommek ist offline   Mit Zitat antworten
Alt 25.07.2006, 15:58  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Dafür benötigst du einen zusätzlichen JOIN auf die Tabelle firmen, bei dem du die Spalten Firma_ID zum Verknüpfen benutzt.
xabbuh ist offline   Mit Zitat antworten
Alt 25.07.2006, 17:35  
Benutzer
 
Registriert seit: 27.04.2006
Beiträge: 42
Tommek
Standard

SELECT User_ID, User_Name, User_Beruf
FROM user_beruf
JOIN user_daten ON user_beruf user_beruf.User_ID = user_daten.User_ID
JOIN users ON user_beruf user_beruf.User_ID = users.id
LEFT JOIN user_firma ON user_beruf user_beruf.User_ID = user_daten.User_ID
WHERE 1

der Funzt wie gewünscht.
Füge ich nun aber noch

JOIN firma_daten ON user_firma firma_daten.Firma_ID = user_firma.Frima_ID

wenn ich das auch noch einfüge spuckt MyAQL Fehler

EDIT die ID spuckt er schon aus, die muss ich nur noch umsetzen in den Namen.
__________________
In der Ehe ist wohl der Hauptgrund für die vielen Scheidungen zu sehen. [Maj. Frank Burns]
Tommek ist offline   Mit Zitat antworten
Alt 25.07.2006, 20:17  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
JOIN firma_daten ON user_firma firma_daten.Firma_ID = user_firma.Frima_ID
Kann ja sein, dass ich diese Schreibweise nicht kenne, aber was macht user_firma vor dem Vergleich? Und der Buchstabendreher ist beim copy&paste passiert?
Zergling-new ist offline   Mit Zitat antworten
Alt 25.07.2006, 20:39  
Benutzer
 
Registriert seit: 27.04.2006
Beiträge: 42
Tommek
Standard

Genial Zergling danke ich habe einfach irgendwann immer ein Brett vorm Kopf.
__________________
In der Ehe ist wohl der Hauptgrund für die vielen Scheidungen zu sehen. [Maj. Frank Burns]
Tommek ist offline   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
Mehrfach Join lazydog Datenbanken 2 08.05.2008 16:09
JOIN Problem pPanther Datenbanken 7 06.03.2008 17:26
[gelöst]LEFT JOIN, DINSTINCT und trotzdem doppelte?!?! stefanjann Datenbanken 10 06.02.2008 11:49
performance problem mit join leo Datenbanken 4 14.01.2008 22:31
JOIN / LEFT JOIN und Co prinzli Datenbanken 12 05.11.2007 22:15
SQL-Frage zum JOIN micbur Datenbanken 2 16.11.2006 23:46
JOIN problem 2 tabellen - zeile(tab1) zu spalte(tab2) Ministry Datenbanken 7 31.05.2006 10:31
Select 2 verschiedene Felder aus einer Tabelle/Datenbank DDogg Datenbanken 5 26.05.2006 19:23
Problem mit Inner join Jabi Datenbanken 15 09.05.2006 14:10
INNER JOIN + Suchkriterien + Abfrage duerov PHP Tipps 2006 4 04.04.2006 12:47
inner join aus db PHP Tipps 2006 8 22.01.2006 01:23
Select Problem Datenbanken 17 16.01.2006 21:54
Zugriff auf Felder bei Inner Join Datenbanken 2 27.04.2005 14:40
leere felder entfernen PHP Tipps 2007 14 04.01.2005 10:59
[Erledigt] ORDER BY, 2 Verschiedene Felder Datenbanken 1 05.10.2004 14:27

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql join mehrere felder, inner join mehrere felder, join über mehrere felder, join über zwei felder, sql join zwei felder, join auf 2 felder, sql join auf 2 felder, join über 2 felder, left join mehrere felder, sql join 2 felder, join 2 felder, inner join auf mehrere felder, join auf mehrere felder, join zwei felder, sql join über mehrere felder, sql join mit 2 feldern, left join 2 felder, left join mit 2 feldern, sql inner join on \mehrere felder\, inner join mit 2 feldern

Alle Zeitangaben in WEZ +1. Es ist jetzt 09:21 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.