php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.07.2011, 10:27  
Neuer Benutzer
 
Registriert seit: 06.04.2010
Beiträge: 8
PHP-Kenntnisse:
Anfänger
vanamp befindet sich auf einem aufstrebenden Ast
Standard

hmm kann es sein, dass kein Kommentar bzw. kein Rating vorhanden ist?
Dann wäre es vielleicht besser für diese Tabellen einen LEFT JOIN zu verwenden.

Code:
SELECT
	c.caname,
	g.ganame,
	g.gadescription,
	g.gainfo,
	g.gafilename,
	g.gadate,
	count(k.comid) as Anz_Kommentare,
	avg(b.rarating) as Bewertung
FROM category c
JOIN category_gallery cg on cg.caid = c.caid
JOIN gallery g on g.gaid = cg.gaid
LEFT JOIN commentary k on k.gaid = g.gaid
LEFT JOIN rating b on b.gaid = g.gaid
WHERE
	c.caname = 'Kategoriename'
GROUP BY
	c.caname,
	g.ganame,
	g.gadescription,
	g.gainfo,
	g.gafilename,
	g.gadate
vanamp ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 26.07.2011, 10:34  
Benutzer
 
Registriert seit: 09.05.2011
Beiträge: 50
PHP-Kenntnisse:
Anfänger
Karottenkopf51 zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Code:
SELECT
	c.caname,
	g.ganame,
	g.gadescription,
	g.gainfo,
	g.gafilename,
	g.gadate,
	count(k.comid) as Anz_Kommentare,
	avg(b.rarating) as Bewertung
FROM category c
JOIN category_gallery cg on cg.caid = c.caid
JOIN gallery g on g.gaid = cg.gaid
LEFT JOIN commentary k on k.gaid = g.gaid
LEFT JOIN rating b on b.gaid = g.gaid
GROUP BY
	c.caname,
	g.ganame,
	g.gadescription,
	g.gainfo,
	g.gafilename,
	g.gadate
ORDER BY 
	g.gadate
Okay, das haut jetzt soweit hin. Habe mal die Where-Klausel rausgenommen um die Ausgabe zu prüfen. Allerdings zeigt er mir jetzt auch mehfach das gleiche Bild an, wenn ein Bild verschiedene Kategorien hat.
Karottenkopf51 ist offline   Mit Zitat antworten
Alt 26.07.2011, 10:38  
Erfahrener Benutzer
 
Benutzerbild von wolf29
 
Registriert seit: 17.03.2010
Beiträge: 1.833
PHP-Kenntnisse:
Fortgeschritten
wolf29 wird schon bald berühmt werdenwolf29 wird schon bald berühmt werden
Standard

Dann kannst Du DISTINCT benutzen.

mfg Wolf29
__________________
while (!asleep()) sheep++;

Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.
wolf29 ist offline   Mit Zitat antworten
Alt 26.07.2011, 10:43  
Neuer Benutzer
 
Registriert seit: 06.04.2010
Beiträge: 8
PHP-Kenntnisse:
Anfänger
vanamp befindet sich auf einem aufstrebenden Ast
Standard

Dann solltest du einen anderen Ausgangspunkt als category wählen.

So werden die Bilder zwar auch öfter angezeigt, da öfter vorhanden aber in unterschiedlichen Galerien.

Code:
SELECT
	c.caname,
	g.ganame,
	g.gadescription,
	g.gainfo,
	g.gafilename,
	g.gadate,
	count(k.comid) as Anz_Kommentare,
	avg(b.rarating) as Bewertung
FROM gallery g
JOIN category_gallery cg on cg.gaid = g.gaid
JOIN category c on c.caid = cg.caid
LEFT JOIN commentary k on k.gaid = g.gaid
LEFT JOIN rating b on b.gaid = g.gaid
GROUP BY
	c.caname,
	g.ganame,
	g.gadescription,
	g.gainfo,
	g.gafilename,
	g.gadate
ORDER BY 
	g.gadate
vanamp ist offline   Mit Zitat antworten
Alt 26.07.2011, 10:58  
Benutzer
 
Registriert seit: 09.05.2011
Beiträge: 50
PHP-Kenntnisse:
Anfänger
Karottenkopf51 zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Okay, ich denke damit kann ich leben. Vielen Dank an euch beide! Hat mir sehr geholfen.
Karottenkopf51 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
Anzahl der Datensätze in einem Intervall ausgeben julien Datenbanken 2 12.04.2011 18:59
[Erledigt] Blätterfunktion. Anzahl der Datensätze.. inox PHP Einsteiger 10 24.02.2011 13:27
result Variablen von SQL verbinden vci PHP Tipps 2010 15 05.02.2010 19:09
[Erledigt] SQL Abfrage aus while-Schleife entfernen MasterChief Datenbanken 2 11.12.2009 14:54
SQL - Abfrage: letzte Kommentare grunz Datenbanken 5 20.10.2009 17:28
Scriptsuche [Erledigt] SQL- Abfrage über 2 tabellen ejim Scriptbörse 1 17.07.2009 21:10
erweiterte abfrage - where DarkManX Datenbanken 2 02.02.2007 17:14
[Erledigt] Anzahl der Datensätze bei abfrage Datenbanken 2 13.09.2005 16:16
Abfrage der Anzahl bestimmter Werte in einer Spalte Datenbanken 1 13.03.2005 12:30
[Erledigt] MYSQL Abfrage -> Ergebnisse auf anzahl per seite begrenze PHP Tipps 2004-2 2 21.11.2004 21:28
[Erledigt] Anzahl der Datensätze nach der Abfrage bestimmen Datenbanken 7 10.11.2004 15:27
Abfrage zweier Tabellen mit COUNT() funktion Datenbanken 23 20.09.2004 22:13
Abfrage funktioniert zwar, aber nicht korrekt Datenbanken 2 16.08.2004 09:10
Abfrage aus DB noch mal ausgeben und Abfrage aus mehrern Tab PHP Tipps 2004 4 12.07.2004 15:00
[Erledigt] Mehrere COUNT(*) in einer Abfrage mit LEFT JOIN Datenbanken 8 18.06.2004 13:43


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