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 30-08-2003, 23: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 00:35 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 31-08-2003, 00: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 00:59 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 31-08-2003, 00: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 00:51 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 31-08-2003, 00: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, 00: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 00:59 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 31-08-2003, 01: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

Von 0 auf über 2 Mio € Umsatz in weniger als 12 Monaten – wie die Pixelwerker das nur durch SEO geschafft haben
Von 0 auf über 2 Mio € Umsatz in weniger als 12 Monaten – wie die Pixelwerker das nur durch SEO geschafft habenSEO oder SEA? Warum SEO die besserer Methode ist.

01.10.2021 | Berni

Kundengewinnung und Kundenbindung
Kundengewinnung und KundenbindungVertrieb läuft doch immer persönlich. Das funktioniert nicht mit dem Internet! Wirklich?

24.09.2021 | Berni


 

Aktuelle PHP Scripte

Simple CMS PHP ansehen Simple CMS PHP

Simple CMS PHP is a very simple content management system. You just create a page content into the admin area and then copy the code for this content and paste it into the page of your website, where you want the content to appear. You do not need of any

01.10.2021 nevenov | Kategorie: PHP/ CMS
Funeral Script PHP ansehen Funeral Script PHP

Funeral Script PHP is the easiest way to place obituaries on your funeral home website. The script is designed to be included into your webpage and fit your website layout. Visitors to your website will be able read the obituaries and post/read comments o

01.10.2021 nevenov | Kategorie: PHP/ News
FAQ Script PHP ansehen FAQ Script PHP

FAQ Script PHP is a simple knowledgebase script and you could use it as a Frequently Asked Question section on your website. It is written in PHP and MySQL.

29.09.2021 nevenov | Kategorie: PHP/ FAQ
 Alle PHP Scripte anzeigen

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