SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 26.09.2008, 21:52:04
Dag Dag ist offline
Anfänger
 
Registriert seit: May 2008
Beiträge: 42
verschachtelte Abfrage

Hi Leute,

ich habe gerade eine Denkhemmung scheint mir vielleicht könnt ihr helfen?

Ich habe vereinfacht drei Tabellen "Musiker", "Country" und "Style"

Die Tabelle "Musiker" hat u.a eine Spalte "StylesID", in der eine oder (als Liste) mehrere ID´s für die jeweiligen Musikstile stehen.

Die Tabelle "Styles" hat je Datensatz jeweils eine ID und den Name des Styles.

Ich suche eine Abfrage, die mir ALLE Styles als Liste liefert, bei meinem Versuch (unten) gibt es immer nur einen Style als Ausgabe.

Das Ergebnis soll so aussehen: MusikerName (Style1, Style2, ... ), CountryName

SELECT *, CountryName, StyleName FROM Musiker
LEFT JOIN Style ON ArtistStyles = StylesID
LEFT JOIN Country ON ArtistCountry = CountryID
ORDER BY ArtistCountry

Wie wäre denn die richtige Lösung?
Vielen Dank schon mal!
D.
Mit Zitat antworten
  #2  
Alt 26.09.2008, 22:30:25
Curtains Curtains ist offline
Anfänger
 
Registriert seit: Sep 2008
Alter: 54
Beiträge: 37
AW: verschachtelte Abfrage

Zitat:
Die Tabelle "Musiker" hat u.a eine Spalte "StylesID", in der eine oder (als Liste) mehrere ID´s für die jeweiligen Musikstile stehen.
Hallo Dag,

deine Datenbankstruktur ist nicht optimal, denn Listen sollten nicht in einem DB-Feld abgespeichert werden.

Hier ist mein Vorschlag:

ARTIST
id | name | country_id

STYLE
id | name

COUNTRY
id | name

ARTIST_STYLE_REL
artist_id | style_id

und die Query würde ungefähr so aussehen:

PHP-Code:
SELECT
    a
.name AS artist_name,
    
GROUP_CONCAT(s.name) AS styles
FROM
    artist a
LEFT JOIN
    artist_style_rel asr
ON
    asr
.artist_id a.id
LEFT JOIN
    style s
ON
    s
.id asr.style_id
GROUP BY
    a
.id 
Mit Zitat antworten
  #3  
Alt 26.09.2008, 22:38:35
Dag Dag ist offline
Anfänger
 
Registriert seit: May 2008
Beiträge: 42
AW: verschachtelte Abfrage

Hey, hab´s fast schon vermutet, dass meine Lösung nen Haken hat. Vielen Dank für die schnelle und kompetente Antwort!
Mit Zitat antworten
  #4  
Alt 27.09.2008, 01:24:42
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: verschachtelte Abfrage

Zitat:
Zitat von Dag Beitrag anzeigen
Ich habe vereinfacht drei Tabellen "Musiker", "Country" und "Style"
Beschäftige Dich mit dem Spaltentyp (Attribut) SET, falls 64 unterschiedliche Musikrichtungen ausreichen sollten.
Mit Zitat antworten
  #5  
Alt 13.03.2009, 20:08:05
ryda ryda ist offline
Anfänger
 
Registriert seit: Mar 2009
Alter: 62
Beiträge: 4
AW: verschachtelte Abfrage

Ich möchte mal mit gutem Beispiel voran gehen...

Ich habe seit 2 Tagen an einem sehr ähnlichen Problem rumgedoktort (baue eine Art Wordpress Miniblog nach). Kam nicht auf die Lösung (Ein Artikel wird einer oder MEHREREN Kategorien, sowie einem oder MEHREREN Ländern zugeordnet)... Ich habe es geschaft, alle Artikel auszugeben, jedoch immer nur mit einer Kategorie und nur mit einem Land...

Finde mal dazu ne Lösung (welche Suchwörter verwenden???)... Habe hier im Forum gesucht, nicht wirklich gefunden (mangels Suchwörtern)... Wollte schon nen neuen Fred aufmachen, habe dann aber die letzten 6 Seiten (fast jeden Artikel) durchforstet und bin schließlich hier fündig geworden!

VIELEN DANK! Das hat auch mir perfekt geholfen.

Danke an die vielen aktiven Antworter (subjektiv ist mit der CRISPS aufgefallen, der hat in den letzten Tagen / Wochen wohl fast jeden Artikel (den ich durchgelesen habe) beantwortet :-)

Danke nochmal, der Sebi (macht ein Feierabend Leffe für Euch auf!)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
"Illegal mix of collations" bei Abfrage über View - nur auf dem Server!! masseschaden MySQLi/PDO/(MySQL) 2 14.09.2008 20:45:33
MySQL Abfrage innerhalb einer Abfrage HariboGold MySQLi/PDO/(MySQL) 4 27.08.2008 17:00:28
SELECT Abfrage nur mit gefüllten Werten Skyman MySQLi/PDO/(MySQL) 0 24.10.2007 23:01:50
Verschachtelte Abfrage Zudecke MySQLi/PDO/(MySQL) 3 09.12.2005 14:20:25
select feld mit if abfrage? Silencer PHP für Fortgeschrittene und Experten 3 20.11.2002 09:34:59


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:11:49 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt