Mailinglisten-Archive |
Hallo, habe die nachfolgend [1] aufgeführten Tabellen. Ich suche nun eine SELECT-Abfrage mit JOIN, die die Daten aus der Haupttabelle "vorgang" mit denen aus allen Satellitentabellen zusammenfährt. Ziel ist, im Ergebnis der Abfrage anstatt der Verknüpfungsnummern aus der Haupttabelle die Werte der entsprechenden ...text-Felder aus den Satellitentabellen zu erhalten (z.B. vorgangsstatus.statustext aus vorgang.statusnr). Die Verknüpfungsbedingungen sind wie folgt: vorgang.vorgangsartnr=vorgangsart.artnr vorgang.anlagenr=anlage.anlagenr vorgang.statusnr=vorgangsstatus.statusnr vorgang.vorgangskategorienr=vorgangskategorie.kategorienr vorgang.verursachvorgangartnr=vorgangsart.artnr vorgang.veranlassernr=person.personnr vorgang.durchfuehrernr=person.personnr Ich steh' hier irgendwie auf dem Schlauch, wie ich das anstellen soll. Die Beispiele für JOIN, die ich gesehen habe, gehen alle von der Konstellation aus, daß eine lineare Verkettung von Tabellen vorliegt, während ich hier eine "sternförmige" Struktur habe. Oder geht das so wie gedacht überhaupt nicht und irgendwie (???) ganz anders?? Vieleicht mit sub-select's? Dank im Voraus für Hilfe Ulrich [1] Tabellendefinitionen (etwas gekürzt, nur das relevante für meine Anfrage hier): CREATE TABLE `anlage` ( `anlagenr` int(11) unsigned NOT NULL auto_increment, `anlagetext` varchar(40) NOT NULL default '', PRIMARY KEY (`anlagenr`) ) TYPE=MyISAM; CREATE TABLE `person` ( `personnr` int(11) unsigned NOT NULL auto_increment, `persontext` varchar(255) NOT NULL default '', PRIMARY KEY (`personnr`) ) TYPE=MyISAM; CREATE TABLE `vorgang` ( `vorgangsnr` int(11) unsigned NOT NULL auto_increment, `vorgangsartnr` int(11) unsigned NOT NULL default '0', `anlagenr` int(11) unsigned NOT NULL default '0', `statusnr` int(11) unsigned default '1', `vorgangskategorienr` int(11) unsigned default '0', `verursachvorgangartnr` int(11) unsigned default '0', `veranlassernr` int(11) unsigned NOT NULL default '0', `durchfuehrernr` int(11) unsigned NOT NULL default '0', PRIMARY KEY (`vorgangsnr`) ) TYPE=MyISAM; CREATE TABLE `vorgangsart` ( `artnr` int(11) unsigned NOT NULL auto_increment, `arttext` varchar(255) NOT NULL default '', PRIMARY KEY (`artnr`) ) TYPE=MyISAM CREATE TABLE `vorgangskategorie` ( `kategorienr` int(11) unsigned NOT NULL auto_increment, `kategorietext` char(30) NOT NULL default '', PRIMARY KEY (`kategorienr`) ) TYPE=MyISAM; CREATE TABLE `vorgangsstatus` ( `statusnr` int(11) unsigned NOT NULL auto_increment, `statustext` varchar(60) NOT NULL default '', PRIMARY KEY (`statusnr`) ) TYPE=MyISAM -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive