php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.11.2007, 08:40  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard WHERE-Clause im Left Join

Hey Leute,

ich steh hier mal wieder vor einem Rätsel. Eigentlich sollte das gar nicht so schwer sein, aber ich bekommst trotzdem nicht hin.

Also der Sinn eines Left Joins ist ja das alle Datensätze der Linken Tabelle ausgegeben werden und diesen ggf. Datensätze der rechten Tabelle zugeordnet werden. Das funktioniert auch soweit. Allerdings nur wenn ich keine WHERE-Clause benutze.

Meine Tabellen sehen wie folgt aus:

TM_fehler (Fehlerarten/Kategorien)
Code:
id | text | ...
1 | bescheribung1 | ...
2 | beschreibung2 | ...
3 | beschreibung3 | ...
TM_calls (diese sollen nach Kategorie gruppiert gezählt werden)
Code:
id | fehlerart | timestamp | ...
1 | 1 | 123456
2 | 1 | 123457
3 | 3 | 123458
4 | 1 | 123459
5 | 1 | 123460
Soweit so gut. So liefert folgender SQL-String genau das Ergebnis was ich erwarte und auch haben will:

Code:
SELECT TM_fehler.text, TM_fehler.id, COUNT( TM_calls.id )
FROM TM_fehler
LEFT JOIN `TM_calls` ON TM_fehler.id = fehlerart
GROUP BY TM_fehler.id
Da bekomme ich das Ergebnis:
Code:
beschreibung1 | 1 | 4
beschreibung2 | 2 | 0
beschreibung3 | 3 | 1
So und jetzt kommt der knackpunkt:

Code:
SELECT TM_fehler.text, TM_fehler.id, COUNT( TM_calls.id )
FROM TM_fehler
LEFT JOIN `TM_calls` ON TM_fehler.id = fehlerart
WHERE TM_call.timestamp = 123457
GROUP BY TM_fehler.id
Liefert das Ergebnis:
Code:
beschreibung1 | 1 | 1
Ich hätte aber gerne folgendes Ergebnis:
Code:
beschreibung1 | 1 | 1
beschreibung2 | 2 | 0
beschreibung3 | 3 | 0
So ich denke ich hab ausführlich genug beschrieben wie mein Problem aussieht. Ich hoffe jemand hat einen Rat für mich

Gruß
Tim
cycap ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 06.11.2007, 10:27  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Na es gibt ja auch nur einen Datensatz bei dem der Timestamp den geforderten Wert hat....

Wahrscheinlich suchst du: WHERE TM_call.timestamp = 123457 OR TM_call.timestamp IS NULL
__________________
Today you...Tomorrow me.
agrajag ist offline   Mit Zitat antworten
Alt 06.11.2007, 11:06  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Perfekt genau das hab ich gesucht... sorry für die Störung und die blöde Frage
cycap 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
Left Join.. mit ON 2 Spalten holen? kleenerandi PHP Tipps 2008 0 31.03.2008 22:48
JOIN / LEFT JOIN und Co prinzli Datenbanken 12 05.11.2007 22:15
LEFT OUTER JOIN auf Nicht-Tabelle inu Datenbanken 15 29.03.2007 20:21
[solved] LEFT JOIN - #1066 - Not unique table/alias moose Datenbanken 6 12.12.2006 06:41
[gelöst] LEFT JOIN und trotzdem nicht alle Sätze da?!? stefanjann Datenbanken 3 24.10.2006 11:32
Problem mit Inner join Jabi Datenbanken 15 09.05.2006 14:10
Left outer join, timestamps php-newbie83 Datenbanken 29 27.04.2006 09:29
LEFT OUTER JOIN für mehr als 2 Tabellen ? Alpha Centauri Datenbanken 4 05.04.2006 16:18
Select Problem Datenbanken 17 16.01.2006 21:54
[Erledigt] LEFT JOIN Query Bildung Datenbanken 6 04.11.2005 15:24
[Erledigt] LEFT JOIN funtkioniert nicht richtig Datenbanken 3 19.10.2005 17:38
[Erledigt] Definition 'Where' und 'Left Join' ??? Datenbanken 1 17.05.2005 18:10
[Erledigt] LEFT JOIN Problem Datenbanken 11 21.03.2005 16:36
[Erledigt] left outer join mit bedingung Datenbanken 2 04.03.2005 00:52
den letzte(grösten) eintrag aus LEFT JOIN Datenbanken 2 24.07.2004 18:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
left join where, left join where clause, left join mit where, left join on where, inner join where clause, left join and where, where clause in left join, left join mit where-klausel, left join und where, left join with where clause, left join with where, where left join, left join die where-, join left where, where clause in join, left join nach where statement, letf join where, left oin on clause geht nicht, join where clause, left join where-klausel

Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.