Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  PHP & MySQL-Zugriffe
Letztes Update: 16.08.2005 17:53:45


Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  

 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 



 

Tabellen vereinigen (UNION)




Manchmal kann es vorkommen, dass verschiedene Tabellen teilweise identisch aufgebaut sind oder Felder mit demselben Inhalt besitzen. So könnte eine Tabelle beispielsweise alle Mitglieder und eine weitere alle Interessenten für eine Mitgliedschaft enthalten, die getrennt voneinander aufgeführt werden, da für die Mitglieder teilweise andere Daten gespeichert werden als für die Interessenten.

Um solche Tabellen in einer einzigen Abfrage ausgeben zu können, müssen die Tabellen so kombiniert werden, dass jeweils Teilmengen verwendet werden. Hierfür steht ab Version 4 von MySQL der UNION-Befehl zur Verfügung. UNION fügt identische Datensätze aus verschiedenen Tabellen zu einem Datensatz zusammen und eliminiert dabei doppelte Datensätze.

Die Syntax für UNION lautet:

mysql>SELECT FROM UNION SELECT FROM ;

Hier ein Beispiel zur Ausgabe von Daten aus zwei Tabellen.


Tabellen - mitglieder und interessenten



CREATE TABLE mitglieder (
  MitgliedID int(11) NOT NULL auto_increment,
  MitgliedVorname char(40) default NULL,
  MitgliedNachname char(40) default NULL,
  Aufgabe char(40) default NULL,
  Geburtsdatum date default NULL,
  PRIMARY KEY  (MitgliedID)
);

INSERT INTO mitglieder VALUES (1, 'Matthias', 'Kannengiesser', 'Leitung', '1974-11-20');
INSERT INTO mitglieder VALUES (2, 'Caroline', 'Kannengiesser', 'Leitung', '1979-01-04');
INSERT INTO mitglieder VALUES (3, 'Thomas', 'Mustermann', 'Mitglied', '1967-10-10');


CREATE TABLE interessenten(
  InteressentenID int(11) NOT NULL auto_increment,
  InteressentenVorname char(40) default NULL,
  InteressentenNachname char(40) default NULL,
  Geburtsdatum date default NULL,
  PRIMARY KEY  (InteressentenID)
);

INSERT INTO interessenten VALUES (1, 'Manfred', 'Müller', '1990-10-02');
INSERT INTO interessenten VALUES (2, 'Tina', 'Maier', '1978-10-27');



Der UNION-Befehl samt Skript für die Ausgabe der Datensätze stellt sich, wie folgt dar:


<?php

$db 
mysql_connect ("localhost""matthias""");

$SQL_Befehl "
SELECT
    MitgliedID,
    MitgliedVorname,
    MitgliedNachname,
    Geburtsdatum
    FROM mitglieder UNION
    SELECT
    InteressentenID,
    InteressentenVorname,
    InteressentenNachname,
    Geburtsdatum
    FROM interessenten
"
;

$resultat mysql_db_query("verein"$SQL_Befehl);

while (
$daten mysql_fetch_array($resultat)) {
extract($daten);
echo 
"
    <p>
    $MitgliedID<br>
    $MitgliedVorname<br>
    $MitgliedNachname<br>
    $Geburtsdatum
    </p>
"
;
}

mysql_close($db);

?>




Ausgabe



1
Matthias
Kannengiesser
1974-11-20 

2
Caroline
Kannengiesser
1979-01-04 

3
Thomas
Mustermann
1967-10-10 

1
Manfred
Müller
1990-10-02 

2
Tina
Maier
1978-10-27




 


Verknüpfte Tabellen (WHERE/JOIN)
 




 sponsored by

Host Europe


HighText iBusiness


Host Europe




© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de