php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.03.2007, 20:06  
Benutzer
 
Registriert seit: 30.07.2007
Beiträge: 37
querfisch befindet sich auf einem aufstrebenden Ast
Standard Abfrage über drei und mehr Tabellen

Hi,
ich stehe gerade bei meinen mysql Abfragen auf dem Schlauch:

Ausgangssituation:

Tabelle Meta:
METAID | Date | Label

Tabelle Stationen:
STATIONID | Stationcode | Distance | Depth

Tabelle CDT (METAID und STATIONID als Fremdschlüssel):
CDTID | METAID | STATIONID | Temp | Salinity | Density

Tabelle Chemical (METAID und STATIONID als Fremdschlüssel):
CHEMID | METAID | STATIONID | Nitrate | Nitrite | Ammonium

Mit dem Schema von CDT und Chemical befinden sich noch weitere Tabellen in der Datenbank.

Mein Problem ist, wie stelle ich es an, mir alle CDT und Chemical Daten zu einer bestimmten METAID anzeigen zu lassen? Ich habe es mit diesem Join versucht:

SELECT metadata.metaid, cdt.cdtid, chemical.chemid
FROM metadata
LEFT JOIN cdt ON ( metadata.metaid = cdt.metaid )
LEFT JOIN chemical ON ( metadata.metaid = chemical.metaid )
WHERE metadata.metaid =1

Aber dann bekomme ich als Ergebnis

METAID | CDTID | CHEMID

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

Und zwar so lange, bis die CHEMIDS bei 80 stehen (Wegen der 80 Stationen als Fremdschlüssel) und dann gehts bei CDTID wieder 80x weiter. Wenn ich noch eine dritte Tabelle mit aufnehme, passiert das ganze natürlich 3X....

Ok, ich hoffe Ihr versteht mein problem und könnt mir einen Tip geben!

Danke!
querfisch ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 27.03.2007, 20:20  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Wenn du auch nur die ids auswählst, bekommst du auch nur die ^^
Zitat:
Zitat von querfisch
SELECT metadata.metaid, cdt.cdtid, chemical.chemid
FROM metadata
LEFT JOIN cdt ON ( metadata.metaid = cdt.metaid )
LEFT JOIN chemical ON ( metadata.metaid = chemical.metaid )
WHERE metadata.metaid =1
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline   Mit Zitat antworten
Alt 27.03.2007, 20:38  
Benutzer
 
Registriert seit: 30.07.2007
Beiträge: 37
querfisch befindet sich auf einem aufstrebenden Ast
Standard

Logisch, aber mein problem ist, dass das so aussieht

METAID | CDTID | CHEMID
1-1-1
1-1-2
1-1-3
1-1-4
1-1-...
1-1-80
1-2-81
1-2-82
1-2-...
1-2-160

Das bedeutet, alle Datensätze aus CDT werden 80 mal wiederholt.

Oder ist das garnicht möglich sowas in einer Abfrage zu erledigen?
querfisch ist offline   Mit Zitat antworten
Alt 27.03.2007, 21:12  
Benutzer
 
Registriert seit: 30.07.2007
Beiträge: 37
querfisch befindet sich auf einem aufstrebenden Ast
Standard

Des Rätsels lösung: Ich habe vergessen den zweiten Fremdschlüssel (STATIONID) mit in die Abfrage einzubauen

SELECT *
FROM metadata
LEFT JOIN cdt ON ( metadata.metaid = cdt.metaid )
LEFT JOIN chemical ON ( metadata.metaid = chemical.metaid )
LEFT JOIN bacterioplankton ON (metadata.metaid = bacterioplankton.metaid)
WHERE metadata.metaid =2 AND cdt.stationid = chemical.stationid AND cdt.stationid = bacterioplankton.stationid

So funzt es, falls es jemanden interessiert
querfisch ist offline   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
abfrage auf gleiche Spalten aus zwei Tabellen maeck Datenbanken 13 08.07.2008 10:09
Abfrage mehrere Tabellen SteiniKeule Datenbanken 14 18.04.2008 19:57
abfrage über mehrere tabellen mit einer bedingung DarkThunder PHP Tipps 2007 6 15.04.2007 17:13
Abfrage über 3 Tabellen madSoul Datenbanken 5 26.06.2006 12:25
SQL ABfrage über mehrere Tabellen Madden Datenbanken 17 09.05.2006 21:19
Abfrage mehrerer Tabellen per PHP (Code vereinfachen) PHP Tipps 2007 4 18.12.2005 12:34
[Erledigt] abfrage mehrere tabellen PHP Tipps 2005-2 3 31.10.2005 21:57
Abfrage aller Tabellen über Schleife PHP Tipps 2005-2 7 22.10.2005 12:16
problem bei ausgabe einer abfrage aus 2 Tabellen Lia PHP Tipps 2005-2 2 28.07.2005 17:30
Problem 2 - komplexere Abfrage aus drei Tabellen Datenbanken 0 15.07.2005 13:59
Abfrage aus zwei Tabellen Datenbanken 1 07.06.2005 13:47
Abfrage über 3 Tabellen Datenbanken 3 20.09.2004 08:08
Abfrage zweier Tabellen funzt net richtig Datenbanken 1 17.09.2004 12:53
2 Tabellen 1 Abfrage nilsfeld Datenbanken 6 11.08.2004 11:18
Abfrage über 3 Tabellen PHP Tipps 2004 3 31.07.2004 22:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
cdt tabelle, mehr tabellen abfragen, mehrtabellen abfragen, cdt-tabelle, chemical tabelle, mysqldumper abfragen joins, querfisch icq

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:04 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.