Jetzt Mitglied werden
Kostenlos registrieren und die vielen Vorteile der Webmasterpro-Mitgliedschaft nutzen.
Forum - Entwicklung
- Markup (HTML, XML, etc.) und CSS
- Skriptsprachen (PHP, Javascript, etc.)
- Datenbanken (SQL)
- CMS und Frameworks
- Flash und ActionScript
Info: Der Stern signalisiert, dass neue Beiträge vorhanden sind.
Alle Foren - Übersicht
Portal aktuelle Themen
Design aktuelle Themen
Server aktuelle Themen
- Webhosting und Webspace
- Betriebssysteme (Windows, Linux, etc.)
- Serveradministration
- Überwachung, Sicherheit und Backups
Management aktuelle Themen
Über Webmasterpro.de
Das Portal wird betrieben und entwickelt durch die Team23 Agentur. Die Augsbuger Agentur hat sich auf Community Software und die Entwicklung von Webportalen spezialisiert.
Datenbanken (SQL) - Forum
Derzeit sind Sie als Gast in unserem Forum aktiv. Für das Schreiben registrieren Sie sich bitte. Unser Forum ist eine Austauschplattform für Webworker zum Kommunizieren, Helfen, Informieren und Hilfe finden. Auf der rechten Seiten finden Sie eine Forenübersicht über alle Bereiche des Webmaster-Forums. Unterhalb finden Sie alle aktuellen Themen.
Einfache Abfrage schlägt fehl...
Hallo zusammen.
Langsam weiß ich echt nicht mehr was ich tun soll... eine so einfache Abfrage und ich kriegs nicht gebacken :|
Folgendes:
Ich habe zwei Tabellen. Eine davon (namens Dokumente) mit 2 Spalten (ID & Dokument) und eine davon (Kleidung) mit 3 Spalten (ID & Kleidungsstueck & Anzahl).
Wie man sich jetzt sicher denken kann will ich diese zwei Tabellen über die ID verknüpfen (ist jeweils die gleiche).
Also lautet meine Abfrage:
1 2 3 | SELECT Kleidung.Kleidungsstueck, Kleidung.Anzahl, Dokumente.Dokument
FROM Kleidung,Dokumente
WHERE Kleidung.ID=Dokumente.ID AND Kleidung.ID="CU1"
|
Und jetzt kommt der große Mist raus. Er zeigt mir die gewünschten 3 Spalten (Kleidungsstück, Anzahl, Dokumente). Allerdings schaut das so aus:
T-Shirt___Ausweis
T-Shirt___EC-Karte
T-Shirt___Führerschein
Socken___Ausweis
Socken___EC-Karte
Socken___Führerschein
Hosen___Ausweis
Hosen___EC-Karte
Hosen___Führerschein
Ich habe in beiden Tabellen gleich viel IDs vergeben. Was mach ich falsch? Die gewünschte Ausgabe wäre:
T-Shirt___Ausweis
Socken___EC-Karte
Hosen___Führerschein
Es soll quasi einfach eine Liste ausgegeben werden, in der man von oben bis unten Gegenstände durchschauen kann.
Ich hab mir jetzt schon x-Beispiele angeschaut. Und hab einfach keine Idee was ich falsch mache. Ich will nur so viele Tupel wie ich auch IDs habe.
Habt ihr einen Rat?
_______________________________________________________
Edit:
Hier noch ein paar Screenshots zu Verdeutlichung:
So?
1 2 3 | SELECT `Kleidung`.`Kleidungsstueck`, `Kleidung`.`Anzahl`, `Dokumente`.`Dokument`
FROM `Kleidung` JOIN `Dokumente` USING (`ID`) WHERE `Kleidung`.`ID`
LIKE "CU1"
|
Edit: Jetzt habe ich mir erst die Bilder angesehen.
Ja, die Verknüpfung der Tabellen ist ja beileibe nicht eindeutig. Da IDs mehrfach auftreten, bietet dir SQL bei jeder Verknüpfung alle möglich Kombinationen an, weil es schlicht nicht weiß, was du wie verbinden willst.
Es kann ja nicht wissen, dass T-Shirt zu Ausweis gehört, da die Verknüpfung T-Shirt <-> Ausweis in der Datenbank genauso vorhanden ist wie Socken <-> Ausweis, Pullover <-> Ausweis etc.
Lösung: jeweils unterschiedliche IDs.
Gott, wie dumm! War ich blind!
Ich meine, ID steht ja nicht umsonst da.....gott....
Danke Dir! :)





