php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 31-08-2003, 00:43
testuser
 Newbie
Links : Onlinestatus : testuser ist offline
Registriert seit: Aug 2003
Beiträge: 27
testuser ist zur Zeit noch ein unbeschriebenes Blatt
Standard Join Verständnis - Problem

Folgendes würde ich auch mit mehren DB-Anfragen hinbekommen, aber ich würd's gerne mal mit Join probieren. (Es funktioniert einfach nicht ! )

Problem:

Ich möchte eine Arbeitsliste erstellen
In meiner Datenbank sind 4 Tabellen

1.Tabelle - Zuordnung obst_id & obst_name

PHP-Code:
obst_id obst_name
-------------------------------------
   
1    Aubergine
   2    
Avokado
   3    
Apfel (Bräburn)
   
4    Apfel (Golden Delicious)
   
5    Birne (Williams)
   
6    Trauben (hell)
   
7    Trauben kernlos (Sultanas)
// etc... 
2. Tabelle - Zuordung mitarbeiter_id & mitarbeiter_name

PHP-Code:
mitarbeiter_id mitarbeiter_name
-----------------------------------
      
1        Mike Simon (*)
      
2        Frau Koch
      3        
Frau Marlen
      4        
Frau Patrick (*)
      
5        Frau Schöffel
// etc. 
3. Tabelle - Zuordung taetigkeit_id - taetigkeit_name

PHP-Code:
taetigkeit_id taetigkeit_name
      1       
Ware auffüllen und ggfnachbestellen
      2       
Beratung Verkostung
      3       
Warenanahme und Kontrolle 
4. Tabelle - Resumé :

PHP-Code:
mitarbeiter_id obst_id taetigkeit_id
-----------------------------------------
      
1        |    8    |       1
      2        
|    8    |       1  
      3        
|    7    |       2  
      4        
|    8    |       
Output sollte sein:

Name: Mike Simon
Bereich (Obst): Alles
Aufgabe: Ware auffüllen und ggf. nachbestellen

Name: Frau Koch
Bereich (Obst): Alles
Aufgabe: Ware auffüllen und ggf. nachbestellen

Name: Frau Marlen
Bereich (Obst): Trauben kernlos (Sultanas)
Aufgabe: Verkostung

und so weiter...

KÖNNTE MIR BITTE JMD DIE JOIN ANWEISUNG AN DIESEM BEISPIEL ERKLÄREN ? ICH WÄRE EUCH SUPER DANKBAR !


// add: ich muss wohl LEFT [OUTER] JOIN verwenden, aber komme damit erst recht nicht klar !
// add2: oder doch lieber nen EQUI -JOIN ?

Geändert von testuser (31-08-2003 um 01:35 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 31-08-2003, 01:39
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.625
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

so sollte es passen...



1.Tabelle - Zuordnung obst_id & obst_name
-> obst

2.Tabelle - Zuordung mitarbeiter_id & mitarbeiter_name
-> mitarbeiter

3.Tabelle - Zuordung taetigkeit_id - taetigkeit_name
-> taetigkeit

4.Tabelle - Resumé :
-> resume


Code:
SELECT
    M.mitarbeiter_name,
    T.taetigkeit_name,
    O.obst_name
FROM
    resume R
        LEFT JOIN mitarbeiter M ON (R.mitarbeiter_id = M.mitarbeiter_id)
        LEFT JOIN obst O ON (R.obst_id = O.obst_id)
        LEFT JOIN taetigkeit T ON (R.taetigkeit_id = T.taetigkeit_id)
EDIT:
fehler beseitigt.....
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |



Geändert von Abraxax (31-08-2003 um 01:59 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 31-08-2003, 01:48
testuser
 Newbie
Links : Onlinestatus : testuser ist offline
Registriert seit: Aug 2003
Beiträge: 27
testuser ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Na ob ich da durchblick ?

Ich versuche mich mal dran, aber glaube kaum daran, das mir das etwas bringt.

aber ich beis(s) mich durch !

Geändert von testuser (31-08-2003 um 01:51 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 31-08-2003, 01:54
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.625
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

ich fasse mal zusammen. hoffentlich wird es klarer.... oder eben auch nicht...

ich lade mit erst einmal alles aus der 'resume'. nun habe ich also die 3 spalten mit den zahlen. um nun eine verbindung zu den jeweiligen anderen tabellen aufzubauen, nutze ich LEFT JOIN. das ON bedeutet, dass die felder, die dort angegeben sind, als vergleich genommen werden.

als beispiel: mitarbeiter-id 1 hat einen namen. der name steht in der ma tabelle drin. dort ist auch die 1 als id enthalten. das ist der vergleich. das ganze passiert mit alles drei tabellen und fertig.

damit du nicht alle unnötigen felder auch bekommst, habe ich im SELECT nicht den * verwendet, sondern die feldnamen direkt angegeben. den tabellen habe ich jeweils einen alias verpasst, damit ich bei den ON-teilen nicht immer den ganzen tabellennamen tippen muss.

fertig?

alle klarheiten beseitigt?

EDIT:
und editiere nicht immer deinen post, wenn man schon antwortet....
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
  #5 (permalink)  
Alt 31-08-2003, 01:56
testuser
 Newbie
Links : Onlinestatus : testuser ist offline
Registriert seit: Aug 2003
Beiträge: 27
testuser ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für die Antwort ! Ich lese gleich mal.
Ps.: Das nexte Mal editiere ich nix mehr.

VIELEN DANK !

EDIT:

Ich editiere jetzt trotsdem nochmal. Ich habe es nun verstanden ! WOW, Nochmals Danke !


Geändert von testuser (31-08-2003 um 01:59 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 31-08-2003, 02:00
Abraxax
  THE REAL HAXE (Administrator)
Links : Onlinestatus : Abraxax ist offline
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.625
Abraxax befindet sich auf einem aufstrebenden Ast
Standard

ich habe auch editiert...
habe in der query noch einen fehler gefunden....

gut, dass du es verstanden hast.... das ging ja fix...

EDIT:
übrigens .... wenn du editierst, bekomme ich keine mail mehr, dass was neues da ist. also kann ich auch was nicht mehr lesen...
__________________
INFO: Erst suchen, dann posten! | MANUAL(s): PHP | MySQL | HTML/JS/CSS | NICE: GNOME Do | TESTS: Gästebuch | IM: Jabber.org |


Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht 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


PHP News

Vorteile eines flexiblen ERP Systems
Vorteile eines flexiblen ERP SystemsEin flexibles ERP System bietet in allen Unternehmensbereichen die Grundlage für eine erfolgreiche Verwaltung, Organisation und Planung aller Prozesse.

01.12.2021 | Berni

Software für alle Arten von digitalen Marktplätzen
Software für alle Arten von digitalen MarktplätzenDigitale Marktplätze sind nicht nur im B2C Geschäft seit Jahren etabliert, sondern erfreuen sich mit Kleinanzeigen-Märkten auf lokaler und regionaler Ebene auch im privaten Bereich wachsender Beliebtheit.

09.11.2021 | Berni


 

Aktuelle PHP Scripte

kostenloser PHP-Editor Codelobster ansehen kostenloser PHP-Editor Codelobster

Kostenloser PHP, HTML, CSS, JavaScript editor (IDE) - Codelobster PHP Edition

06.12.2021 Berni | Kategorie: PHP ENTWICKLUNGSUMGEBUNG
ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

09.11.2021 Berni | Kategorie: PHP/ Anzeigenmarkt
PHP Newsletter Script SuperWebMailer ansehen PHP Newsletter Script SuperWebMailer

Die webbasierte PHP Newsletter Software SuperWebMailer ist die optimale Lösung zur Durchführung eines erfolgreichen E-Mail-Marketings. Zur Nutzung des PHP Script-Pakets ist eine eigene Webpräsenz/Server mit PHP 5 oder neuer, MySQL 4 oder neuer und die

28.10.2021 mirko_swm | Kategorie: PHP/ Mail
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:21 Uhr.