Mailinglisten-Archive |
Hallo Mitleser, folgendes Problem: Tabelle "domain" enthält eine Liste von Domainen CREATE TABLE domain ( domain_id INT UNSIGNED NOT NULL AUTO_INCREMENT, domain CHAR(127) NOT NULL, PRIMARY KEY(domain_id), KEY(domain) ); In einer zweiten Tabelle soll eine Verknüpfung mit abgelegt werden: CREATE TABLE daccess ( daccess_id INT UNSIGNED NOT NULL AUTO_INCREMENT, domain CHAR(127) NOT NULL, uid VARCHAR(32) DEFAULT '' NOT NULL, PRIMARY KEY(daccess_id), key(domain), key(uid) ); Das Ziel dieser Tabelle ist es, alle uid abzulegen, denen eine Domaine zugeteilt wurde. Anmerkung zu den Tabellen: Es ist Absicht, daß hier NICHT optimal normalisiert wurde. Mir ist durchaus klar, daß ich bei der Tabelle "daccess" beim Attribut "domain" lieber "domain_id" verwenden sollte. Das geht bei meinem Problem leider nicht anders ... Nun zum Problem: Wie zeige ich alle Domainen an, die einer uid noch NICHT zugeordnet sind? Bsp.: Zeige mir alle Domainen die der "1" noch nicht zugeordnet sind. Tabelle domain: 1,"domaine1.de" 2,"domaine2.de" 3,"domaine3.de" Tabelle daccess: 0,"domain1.de","1" 3,"domain1.de","1" Die gesuchte Abfrage sollte 2,"domaine2.de" als Ergebnis bringen. Tja, wie gehe ich hier an die Sache ran? Ich tippe mal auf einen LEFT JOIN. Nur stehe ich hier irgendwie auf dem Schlauch. Folgendes habe ich versucht: SELECT domain.domain_id, domain.domain FROM domain LEFT JOIN daccess ON (daccess.uid='$uid' AND daccess.domain=NULL) ... das zeigt mir aber alle verfügbaren Domainen an, ist also falsch. Ich stehe hier total auf dem Schlauch ... hat jemand einen Tip für mich? Danke schon einmal! Bye, Heiko --- *** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive