php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.07.2011, 10:55  
Neuer Benutzer
 
Registriert seit: 06.07.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Schecke befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Count-Problem

Hallo Leute,

ich verzweifle seit einigen Tagen an einer anfangs einfach eingeschätzten SELECT-Anweisung mit MySQL:

Ich habe eine Bibliotheksdatenbank, mit folgender relevanter Tabelle:

tblBuchleihe
leihID (Primary Key für Buchleihe)
userID (wer hat es ausgeliehen)
isbn (welches Buch wurde ausgeliehen)
zurueckgegeben ((BOOLEAN) hat er das Buch schon zurückgegeben)

Mein Ziel ist es folgende Ausgabe zu erhalten:

Zitat:
userID | Anzahl momentan ausgeliehener Bücher
__1_______________3
__2_______________0
__3_______________4
__4_______________1
__5_______________0

Ich habe schon folgenden Ansatz (das Problem ist nur, dass ich nur diejenigen angezeigt bekomme, die auch wirklich zur Zeit ein Buch ausgeliehen haben; die '0'-Werte fehlen mir also in der Tabelle):

Code:
SELECT userID, COUNT(userID) AS 'Anzahl momentan ausgeliehener Bücher'
FROM tblBuchleihe
WHERE Zurueckgegeben=0
GROUP BY userID
Da sieht das Erbegnis also nur so aus:

Zitat:
userID | Anzahl momentan ausgeliehener Bücher
__1_______________3
__3_______________4
__4_______________1

Was kann ich also tun, damit auch die 0-Werte mit in der Tabelle stehen?
Vielen Dank schon mal für eure Hilfe!

PS: Warum gibts hier keine Tabellenfunktion oder Einrückfunktion oder bin ich zu blöd die zu finden?
Schecke ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 06.07.2011, 10:59  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Schecke Beitrag anzeigen
Was kann ich also tun, damit auch die 0-Werte mit in der Tabelle stehen?
JOINs benutzen.

„Ausgangs-Tabelle“ ist deine User-Tabelle - denn nur die enthält die Nutzer, die keine Bücher ausgeliehen haben, deine Ausleih-Tabelle enthält diese ja gar nicht (und was gar nicht vorhanden ist, lässt sich auch mit [normalen] Mitteln nicht „auslesen“.)
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 06.07.2011, 11:22  
Neuer Benutzer
 
Registriert seit: 06.07.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Schecke befindet sich auf einem aufstrebenden Ast
Standard

Ok vielen Dank erstmal. Ich habe mich zwar schon mit JOINs beschäftigt, aber der Geistesblitz ist mir erst jetzt gekommen=)

Code:
SELECT zwischenabfrage1.userID, name, Anzahl
FROM 
(SELECT userID, name
FROM tblUser
) AS zwischenabfrage1

LEFT OUTER JOIN

(SELECT userID, COUNT( tblBuchleihe.userID ) AS 'Anzahl'
FROM tblBuchleihe
WHERE zurueckgegeben = 0
GROUP BY userID
) AS zwischenabfrage2

ON zwischenabfrage1.userID = zwischenabfrage2.userID

Da habe ich dann aber immer noch 'NULL' dastehen, statt '0'


Zitat:
userID | name | Anzahl
__1____meier_____3
__2____müller___NULL
__3____schulze___4
__4____schmidt___1
__5____schmitt__NULL
Gibts da nicht etwas in der Art: IF Anzahl == 'NULL' THEN Anzahl:='0' ???
Schecke ist offline   Mit Zitat antworten
Alt 06.07.2011, 11:25  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

kommt oben ins Select - oder du machst es nachträglich mit PHP
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 06.07.2011, 11:25  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Ja, IF gibt's auch in MySQL - siehe Handbuch.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 06.07.2011, 11:31  
Neuer Benutzer
 
Registriert seit: 06.07.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Schecke befindet sich auf einem aufstrebenden Ast
Standard

Ahhhh sehr schön. Man ich könnte mich über mich selbst ärgern... Danke
Schecke ist offline   Mit Zitat antworten
Alt 06.07.2011, 11:34  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Kurzvariante: IFNULL(Anzahl, 0)
fab ist gerade online   Mit Zitat antworten
Alt 06.07.2011, 13:10  
Neuer Benutzer
 
Registriert seit: 06.07.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Schecke befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von fab Beitrag anzeigen
Kurzvariante: IFNULL(Anzahl, 0)
Und nochmal danke! Ich hatte es erst etwas umständlicher:
IF(ISNULL(Anzahl),0,Anzahl)
Schecke 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
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
Problem mit Count() Riot Datenbanken 7 05.05.2006 12:11
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
[Erledigt] count() Problem Datenbanken 2 28.07.2005 15:27
[Erledigt] Problem mit Backslash Patrick Schwarz PHP Tipps 2005-2 5 26.07.2005 09:54
phpmyadmin: problem beim übertragen von datensätzen Datenbanken 1 16.07.2005 00:05
[Erledigt] Problem mit User/Group: nobody(99)/99 Server, Hosting und Workstations 3 09.07.2005 15:31
Kombiniertes Problem mit SELECT und COUNT über 2 Tabellen Datenbanken 6 01.07.2005 14:28
problem mit COUNT in verbindung mit zwei tabellen PHS Datenbanken 6 13.10.2004 10:09
Logfile auswerten/ Problem mit DISTINCT und count und co... supertramp Datenbanken 4 21.09.2004 01:39
[Erledigt] COUNT() Problematik... Datenbanken 2 20.08.2004 13:48
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
[Erledigt] MYSQL Count problem Datenbanken 1 02.08.2004 19:38
[Erledigt] Count ?! Rückgabewert macht Problem.... Datenbanken 4 27.07.2004 20:06

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php count problem, php counting problem, count does not work php, php problem mit count

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