php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.01.2006, 20:28  
Gast
 
Beiträge: n/a
Standard [Erledigt] DB-Design und die Statements dazu

Hallo,

ich stoße mal wieder (wie eigentlich so oft bei dem Thema) an meine logische Grenze. Nehmen wir folgendes an:

Tabelle user hat folgende Felder -> user_id, user_name
Tabelle projects hat folgende Felder -> project_id, project_name

Ein User kann kein Projekt, ein Projekt oder mehrere Projekte haben.
Ein Projekt kann keinen User, einen User oder mehrere User haben.

Also bauen wir eine dritte Tabelle.

ref_user_project mit den feldern -> ref_id, ref_user_id, ref_project_id

Soweit gehe ich ja mit (ich weiss, man kann statt der ID's auch die Namen nehmen, dann bräuchte ich mir keinen Kopf zu machen, aber das möchte ich nicht, weil nicht wirklich sauber).

Nehmen wir weiter an, wie haben 4 Einträge in der Ref Tabelle:

ref_id / ref_user_id / ref_project_id

1 1 1
2 1 2
3 2 1
4 2 1


Mit welchen MySQL - Statement's bekomme ich :

- welcher User hat welche Projekte (Rückgabe Username + Projektnamen)
- welche User haben gar keine Projekte (Rückgabe Usernamen)
- welches Projekt hat welche User (Rückgabe Projektname + Usernamen)
- welche Projekte haben keinen User (Rückgabe Projektnamen)

Wäre nett, wenn man mir helfen könnte.

Gruß Peer-Mario
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 12.01.2006, 20:35  
Erfahrener Benutzer
 
Registriert seit: 02.08.2004
Beiträge: 472
duderino
Standard

Am Anfang ließt du dir erstmal die projekte aus. Wenn du ein Projekt hast, kannst du ja ganz einfach auf die Mitglieder schlüsseln.

Andersrum kannst du es mit LEFT/JOIN oder mit sub-selects lösen
Am besten mal hier nachlesen:
http://dev.mysql.com/doc/mysql/searc...&doc=1-4.0&m=o
duderino ist offline   Mit Zitat antworten
Alt 13.01.2006, 11:15  
Gast
 
Beiträge: n/a
Standard

Hallo Duderino,

ich habe es gelöst:


SELECT projecte.project_name FROM user INNER JOIN ref_user_project ON user.user_id = ref_user_project.ref_user_id INNER JOIN projecte ON ref_user_project.ref_project_id = projecte.project_id where user_name ='xyz'

Liefert mir alle Projekte vom User xyz zurück.

Danke für Deine Hilfe
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Design und Code Trennen TeazY PHP Tipps 2008 29 21.05.2008 12:08
Scrollleiste im design berücksichtigen Crypi HTML, Usability und Barrierefreiheit 5 16.01.2006 08:10
Design... Off-Topic Diskussionen 8 29.09.2005 10:01
design mittig halten Niedi HTML, Usability und Barrierefreiheit 10 28.08.2005 15:50
Design Beitragsarchiv 26 04.06.2005 20:56
Problem mit *.TPL dateien und Design imported_DJ Nuno HTML, Usability und Barrierefreiheit 4 08.03.2005 02:29
[PHP] Design Schutz für ein Gästebuch I-Spy PHP Tipps 2005 5 01.01.2005 11:25
[Erledigt] Design Firefox vs IE bitte um Hilfe HTML, Usability und Barrierefreiheit 4 23.09.2004 05:15
Design an PHPnuke oder TriggerTG anpassen?? PHP Tipps 2004 5 11.06.2004 15:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
db design firefox

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:37 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.