MySQL Mehrere Tabellen, verschiedene Spalten, alles raus (forgeschrittene)
Hi, nach längerem rumprobieren komme ich einfach nicht weiter und bin mit meinem Wissen langsam am Ende sowie die Forum suche ergab auch kein Ergebnis.
Hoffe ihr könnt mir helfen, ich habe folgendes Problem.
MySQL Version ist 5
Es gibt drei Tabellen.
diese sind folgenderweise aufgebaut (jetzt im Mini Format dargestellt um es besser verstehen zu können)
Das währen die drei Tabellen. Nun möchte ich diese drei Tabellen quasi so zusammenführen, dass ALLE Datensätze mit einer WHERE Bedingung sortiert nach id da untereinander ausgegeben werden.
Das Ergebnis sollte am Ende so aussehen:
Ich habe von INNER JOIN über LEFT JOIN selbst UNION Sachen ausprobiert doch es gab kein Ergebnis welches die Ausgabe so darstellte..
Bei den JOINS wurden die Daten alle nebeneinander ausgegeben und wenn mal in der einen Spalte nichts gab, hat er einfach dort Werte aus einer anderen Tabelle hineingeschrieben so das in der Spalte irgend etwas stand.
Mit UNION kam ich bisher am nähsten an das Ergebnis dran
Doch hier war das Problem das er bei dem Versuch alle Spalten auszulesen Fehlermeldungen meldete und dann noch trotz WHERE Bedingung alle Daten aus allen Spalten holte.
Bin mit meinem Latein am Ende, hoffe ihr könnt mir helfen, aber bin mir gerad sogar nicht mal sicher ob es überhaupt so möglich ist wie ich es haben will Oo
PS: ich hoffe ich habe es mit dem Titel (forgeschrittene) nicht übertrieben
MfG
Karni
Edit: Das obige Beispiel ist nur ein keliner Teil der Tabelle und ist sehr Simpel gestaltet, so das man eine Datenbank nie so aufbauen würde, es ist NUR ein sehr einfaches Beispiel um das Problem genauer zu verdeutlichen. Die Struktur der richtigen Datenbank findet man ein kleines Stück hier weiter runter.
Hi, nach längerem rumprobieren komme ich einfach nicht weiter und bin mit meinem Wissen langsam am Ende sowie die Forum suche ergab auch kein Ergebnis.
Hoffe ihr könnt mir helfen, ich habe folgendes Problem.
MySQL Version ist 5
Es gibt drei Tabellen.
diese sind folgenderweise aufgebaut (jetzt im Mini Format dargestellt um es besser verstehen zu können)
Tabelle: tabA
id
name
price
Tabelle: tabB
id
name
sterne
price
type
Tabelle: tabC
id
name
sterne
price
weight
sellable
Das währen die drei Tabellen. Nun möchte ich diese drei Tabellen quasi so zusammenführen, dass ALLE Datensätze mit einer WHERE Bedingung sortiert nach id da untereinander ausgegeben werden.
Das Ergebnis sollte am Ende so aussehen:
PHP:
id name sterne price type weight sellable
1 Sib 40 // Datensatz aus tabA
6 Ba 5 23 age // Datensatz aus tabB
10 Kad 2 20 12 0 // Datensatz aus tabC
12 Fad 0 25 19 1 // Datensatz aus tabC
[...]
Ich habe von INNER JOIN über LEFT JOIN selbst UNION Sachen ausprobiert doch es gab kein Ergebnis welches die Ausgabe so darstellte..
Bei den JOINS wurden die Daten alle nebeneinander ausgegeben und wenn mal in der einen Spalte nichts gab, hat er einfach dort Werte aus einer anderen Tabelle hineingeschrieben so das in der Spalte irgend etwas stand.
Mit UNION kam ich bisher am nähsten an das Ergebnis dran
SELECT id, name FROM tabA UNION SELECT id, name FROM tabB WHERE id IN (1,5001,5002,5003,5004) ORDER BY id
Doch hier war das Problem das er bei dem Versuch alle Spalten auszulesen Fehlermeldungen meldete und dann noch trotz WHERE Bedingung alle Daten aus allen Spalten holte.
Bin mit meinem Latein am Ende, hoffe ihr könnt mir helfen, aber bin mir gerad sogar nicht mal sicher ob es überhaupt so möglich ist wie ich es haben will Oo
PS: ich hoffe ich habe es mit dem Titel (forgeschrittene) nicht übertrieben
MfG
Karni
Edit: Das obige Beispiel ist nur ein keliner Teil der Tabelle und ist sehr Simpel gestaltet, so das man eine Datenbank nie so aufbauen würde, es ist NUR ein sehr einfaches Beispiel um das Problem genauer zu verdeutlichen. Die Struktur der richtigen Datenbank findet man ein kleines Stück hier weiter runter.
Zuletzt bearbeitet: