phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-1?Q?Abfragen_=FCber_mehrere_Tabellen?=

[php] Abfragen über mehrere Tabellen

Michael P. Mehl php_(at)_phpcenter.de
Wed, 20 Jun 2001 11:33:15 +0200


Hi!

Ich habe folgende Tabellen:

	CREATE TABLE users (
	   user_id bigint(20) unsigned DEFAULT '0' NOT NULL,
	   contact_id bigint(20) unsigned DEFAULT '0',
	   user_login varchar(100) NOT NULL,
	   PRIMARY KEY (user_id),
	   UNIQUE UC_user_id (user_id)
	);

	CREATE TABLE contacts (
	   contact_id bigint(20) unsigned DEFAULT '0' NOT NULL,
	   contact_type varchar(100) NOT NULL,
	   contact_value mediumtext,
	   PRIMARY KEY (contact_id, contact_type),
	   KEY idx_contacts (contact_id, contact_type)
	);

In der Tabelle "users" ist "user_id" ein eindeutiger Schlüssel,
"user_login" enthält eine Kennung zum Einloggen in ein System.
"contact_id" verweist dann auf die Tabelle "contacts".

Das Besondere der Tabelle "contacts" ist nun, dass hier mehrere Einträge
vorhanden sein können für ein und denselben Benutzer. Der Vorname des
Benutzers wird beispielsweise gespeichert als:

	INSERT INTO contacts VALUES ( '1', 'person/prename', 'Michael
P.');

GLEICHZEITIG ist ein zweiter Eintrag in der Tabelle vorhanden, der den
Nachnamen speichert:

	INSERT INTO contacts VALUES ( '1', 'person/surname', 'Mehl');

Mein Problem nun: Wie kann ich -- meinetwegen auch über temporäre
Tabellen -- eine Abfrage generieren, die mir letztlich möglichst mit
einem SQL Statement die Felder "user_login" und zwei weitere namens
"user_prename" und "user_surname" zurückliefert, die dann die
entsprechenden Werte aus der Tabelle "contacts" enthalten sollen? Wie
stelle ich das an?

Liebe Grüße und herzlichen Dank im voraus...
  Michael




php::bar PHP Wiki   -   Listenarchive