php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.10.2009, 01:48  
Benutzer
 
Registriert seit: 26.04.2007
Beiträge: 33
PHP-Kenntnisse:
Anfänger
oriolus
Standard Select-Problem / Subselect?

Hallo!

Ich habe vereinfacht gesagt zwei Tabellen: Tab.1 enthält die Namen der Mitglieder, die über eine ID mit einer unterschiedlichen Anzahl von Fotos aus Tab.2 verknüpft sind.

Code:
SELECT member, photo FROM members, photos WHERE members.id=photos.id ORDER BY member, photos.date
Hiermit würde man alle User mit allen zugehörigen Fotos ausgeben.

Ich möchte nun pro User jeweils max. nur 5 Fotos ausgeben. Ist das mit einer einzigen Select-Abfrage irgendwie möglich? (mit Subselect??)

Vielen Dank!
oriolus ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 27.10.2009, 10:00  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.627
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Versuchs mit "LIMIT 5"
Dark Guardian ist offline   Mit Zitat antworten
Alt 27.10.2009, 14:23  
Benutzer
 
Registriert seit: 26.04.2007
Beiträge: 33
PHP-Kenntnisse:
Anfänger
oriolus
Standard

Zitat:
Zitat von Dark Guardian Beitrag anzeigen
Versuchs mit "LIMIT 5"
...ich möchte aber pro User 5 Fotos abrufen.

Man könnte natürlich für jeden User in der WHILE-Schleife eine eigene Select-Anfrage machen, aber das ist natürlich nicht gerade sehr DB-schonend.
oriolus ist offline   Mit Zitat antworten
Alt 27.10.2009, 14:35  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.627
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

LIMITing an SQL JOIN - Stack Overflow

Wie wärs damit?
Dark Guardian ist offline   Mit Zitat antworten
Alt 27.10.2009, 16:09  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Die Frage gabs übrigens vor kurzem gerade mit 100.

[MOD: verschoben]
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 27.10.2009, 17:01  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.627
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Die Frage gabs übrigens vor kurzem gerade mit 100.

[MOD: verschoben]
Da ging es doch nur um eine Tabelle? Hier liegt ein Join vor... mehr oder minder...
Dark Guardian ist offline   Mit Zitat antworten
Alt 27.10.2009, 21:44  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Im Prinzip ist das das gleiche (http://www.php.de/datenbanken/60256-...datensatz.html ([Erledigt] MySQL - Bestimmte Anzahl Daten pro Datensatz) ). Wahrscheinlich läßt es siuch einfacher lösen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 28.10.2009, 11:39  
Benutzer
 
Registriert seit: 26.04.2007
Beiträge: 33
PHP-Kenntnisse:
Anfänger
oriolus
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Im Prinzip ist das das gleiche (http://www.php.de/datenbanken/60256-...datensatz.html ([Erledigt] MySQL - Bestimmte Anzahl Daten pro Datensatz) ). Wahrscheinlich läßt es siuch einfacher lösen.
Danke für den Link! So richtig scheint mir das Problem dort aber auch noch nicht gelöst(?)
Ich habe mal das Beispiel dort - ohne es richtig zu verstehen - auf meine Bedürfnisse (erstmal mit nur einer Tabelle) umgeschrieben - es wird aber ein Syntax-Error augegeben.

PHP-Code:
SET @counter=0, @group_id=0

SELECT 
    gallery
.user_idgallery.photo 
FROM 
    

        
SELECT 
            
IF(@group_id != gallery.group_id, @counter:=1,@counter:=@counter+1) AS counter
            IF(@
group_id != gallery.group_id, @group_id:= gallery.group_id,0) AS temp
            
gallery.* 
        
FROM 
            

                
SELECT 
                    gallery
.* 
                
FROM 
                    gallery 
                ORDER BY 
                    gallery
.group_id 
            
) AS gallery 
    
) AS gallery 
WHERE 
    gallery
.counter 



Zitat:
Zitat von Dark Guardian Beitrag anzeigen
Auch dafür herzlichen Dank! Ich habe damit etwas herumprobiert, glaube aber, das passt nicht für meine Problematik.
Der Subselect wird immer einmal ausgefüht und mit der Ergebnismenge wird dann weitergearbeitet. Ich bräuchte aber einen variablen Subselect für jeden User.


Meine jetzige Idee ist:

Ich rufe alle Datensätze ab. Lasse in der While-Schleife einen Counter mitlaufen, der jedesmal genullt wird, wenn sich die User-ID ändert. 'echo' wird dann nur ausgeführt, wenn der Counter unter 5 ist. Ich denke, das müsste klappen..
oriolus ist offline   Mit Zitat antworten
Alt 28.10.2009, 12:11  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

So wie das klingt, läßt du beim durchiterieren einen neuen query los. Dann besser vorneweg 2 queries drausmachen.
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya 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
SQL select fehlerhafte Resultate. Ist PHP 64 Bit das Problem? peterw Server, Hosting und Workstations 6 21.04.2009 09:19
Problem mit MySQL Select Statement Hagbard-Celine Datenbanken 5 25.03.2009 15:32
Problem mit Select MAX(xyz) raphaelf PHP Tipps 2009 5 21.01.2009 21:05
[Erledigt] Kein Ergebnis bei SELECT (MySQL 4.1.9) dr.e. Datenbanken 4 15.06.2008 19:54
[Erledigt] Mysql Insert Select + Concat Hu5eL Datenbanken 14 10.06.2008 10:39
SELECT AS geht bei AVG net cyberholic Datenbanken 0 04.05.2006 09:43
Mysql SELECT Abfrage -- Problem mit LIMIT djrace Datenbanken 2 01.05.2006 12:58
Problem beim Auswerten eines select Feldes FireFIghter PHP Tipps 2006 3 23.04.2006 15:28
SELECT problem Fatal Error PHP Tipps 2006 5 21.04.2006 16:31
[Erledigt] Problem mit Subselect Datenbanken 3 14.03.2005 08:13
[Erledigt] SELECT Problem PHP Tipps 2005 6 08.03.2005 21:10
[Erledigt] SELECT ... LIKE Problem Datenbanken 10 05.03.2005 13:21
mysql SELECT problem yoshy Datenbanken 7 20.02.2005 00:46
Subselect Quadaptor Datenbanken 2 16.12.2004 15:01
[Erledigt] Select & Update Syntax Problem! Datenbanken 3 14.12.2004 18:17

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
subselect mit select verknüpfen as, subselect in select, lässt sich jeder subselect in einen join auflösen, mysql gleiches select einen versetzt, oriolus funktioniert nicht mit 64 bit, select mit subselect

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