alle werte aus mehreren Tabellen auslesen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
phillip
Mitglied
Beiträge: 933
Registriert: 20.03.2005 12:00

alle werte aus mehreren Tabellen auslesen

Beitrag von phillip »

Hallo
Ich habe folgendes Problem:

Ich würde gerne Werte aus mehreren Tabellen auslesen, bzw. sie sind in verschiedenen Tabellen verstreut.

Beispiel:

Code: Alles auswählen

$sql = "SELECT b.*, c.*
        FROM artists_techno as b, artists_house as c
	ORDER BY rand()"; 

if (!($result = $db->sql_query($sql))) { 
        
          message_die(GENERAL_ERROR, 'Konnte die artists nicht laden!', '', __LINE__, __FILE__, $sql); 
        } 
Somit bekomme ich nur die Werte aus artists_house...

Es muss vielleicht gesagt werden, dass die Tabellen identisch sind, nur der Tabellenname ist anders.

Kann mir jemand helfen?
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Schau dir mal UNION an. :wink:
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
phillip
Mitglied
Beiträge: 933
Registriert: 20.03.2005 12:00

Beitrag von phillip »

S2B ich liebe dich xD
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Mir reicht ein "danke". :P
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Offenbar ist dein Tabellendesign falsch...wenn sich in beiden Tabellen die gleichen Informationen befinden, solltest du techno/house als Feld definieren und dann ggf. danach filtern.
KB:knigge
phillip
Mitglied
Beiträge: 933
Registriert: 20.03.2005 12:00

Beitrag von phillip »

ja da hast du recht, ich seh das auch ein wenig so. Aber es ist somit einfacher zu verwalten ;-)
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Oha, hatte mir den Code gar nicht angeschaut...

Du solltest das Tabellendesign auf jeden Fall umstellen. Was passiert denn zum Beispiel, wenn du weitere Musikstile hinzufügst? Letztendlich endet das in einem Haufen von Tabellen. Abgesehen davon sind die Befehle auch _wesentlich_ schneller, wenn alles aus einer Tabelle ausgelesen wird, vor allem dann, wenn passende Indizes gesetzt werden.

Ideal wären in so einem Fall zwei Tabellen: Eine für die Musikstile (jeder Musikstil erhält eine ID) und eine mit den Artists (jedem Artist wird eine Musikstil-ID zugeordnet). Das ganze kann später zum Beispiel auch relativ einfach auf ein System umgestellt werden, bei dem einem Artist mehrere Musikstile zugeordnet werden können. Das wäre mit deiner aktuellen Lösung nur mithilfe doppelter Datensätze möglich.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
phillip
Mitglied
Beiträge: 933
Registriert: 20.03.2005 12:00

Beitrag von phillip »

S2B hat geschrieben:
Ideal wären in so einem Fall zwei Tabellen: Eine für die Musikstile (jeder Musikstil erhält eine ID) und eine mit den Artists (jedem Artist wird eine Musikstil-ID zugeordnet). Das ganze kann später zum Beispiel auch relativ einfach auf ein System umgestellt werden, bei dem einem Artist mehrere Musikstile zugeordnet werden können. Das wäre mit deiner aktuellen Lösung nur mithilfe doppelter Datensätze möglich.
ja das hab ich mir auch schon gemacht, in dieser Zeit als du mir die erste Antwort geschrieben hast ;-)

Ja ich muss mal schauen, was besser ist. Aber ich denke schon, dass ich das mit UNION doch lieber lasse.

Trotzdem hab ich wieder was gelernt ;-)
Antworten

Zurück zu „Coding & Technik“