ZER0-CooL - 36
Champion
(offline)
Dabei seit 09.2004
4459
Beiträge
|
|
Geschrieben am: 30.11.2008 um 21:05 Uhr
|
|
Hallo Leute :)
Folgendes Problem
2 Tabellen:
easyts_newscomment -> `newscomment_id` `newscomment_user`.......
easyts_user -> `user_id` `user_rights`...........
aktuelles Query:
SELECT `newscomment_user`, COUNT(*) as `newscomment_count`
FROM `easyts_newscomment`
GROUP BY `newscomment_user`
ORDER BY `newscomment_count`
Nun möchte ich aber das es nurnoch die anzeigt die einen bestimmten Wert bei `user_rights` haben, `newscomment_user` entspricht `user_id`
Gruß
ZER0-CooL
|
|
superrichi - 43
Fortgeschrittener
(offline)
Dabei seit 10.2006
41
Beiträge
|
|
Geschrieben am: 30.11.2008 um 21:12 Uhr
|
|
Zitat von ZER0-CooL: Hallo Leute :)
Folgendes Problem
2 Tabellen:
easyts_newscomment -> `newscomment_id` `newscomment_user`.......
easyts_user -> `user_id` `user_rights`...........
aktuelles Query:
SELECT `newscomment_user`, COUNT(*) as `newscomment_count`
FROM `easyts_newscomment`
GROUP BY `newscomment_user`
ORDER BY `newscomment_count`
Nun möchte ich aber das es nurnoch die anzeigt die einen bestimmten Wert bei `user_rights` haben, `newscomment_user` entspricht `user_id`
Gruß
ZER0-CooL
HAVING .... is die Lösung
Wozu ein Order?
|
|
ZER0-CooL - 36
Champion
(offline)
Dabei seit 09.2004
4459
Beiträge
|
Geschrieben am: 30.11.2008 um 21:13 Uhr
Zuletzt editiert am: 30.11.2008 um 21:15 Uhr
|
|
Das Order ist gerade drin, damit die Leute mit den meisten comments oben sind 
Having ist dafür eindeutig das falsche, was ich brauche ist eher ein Left Join, da steig ich aber nicht ganz durch =)
|
|
superrichi - 43
Fortgeschrittener
(offline)
Dabei seit 10.2006
41
Beiträge
|
|
Geschrieben am: 30.11.2008 um 21:16 Uhr
|
|
Zitat von ZER0-CooL: Das Order ist gerade drin, damit die Leute mit den meisten comments oben sind
Having ist dafür eindeutig das falsche, was ich brauche ist eher ein Left Join, da steig ich aber nicht ganz durch =)
Ah, okay, jetzt sehe ich erst was du willst. In der oberen Abfrage machts halt keinen sinn, da nur ein row zurückgegeben wird.
Du willst die beiden Tabbellen joinen: machst du mit INNER JOIN, findest sicher deinen weg
|
|
ZER0-CooL - 36
Champion
(offline)
Dabei seit 09.2004
4459
Beiträge
|
Geschrieben am: 30.11.2008 um 21:18 Uhr
Zuletzt editiert am: 30.11.2008 um 21:19 Uhr
|
|
Zitat von superrichi: Zitat von ZER0-CooL: Das Order ist gerade drin, damit die Leute mit den meisten comments oben sind
Having ist dafür eindeutig das falsche, was ich brauche ist eher ein Left Join, da steig ich aber nicht ganz durch =)
Ah, okay, jetzt sehe ich erst was du willst. In der oberen Abfrage machts halt keinen sinn, da nur ein row zurückgegeben wird.
Du willst die beiden Tabbellen joinen: machst du mit INNER JOIN, findest sicher deinen weg
Es kommen zwei zurück:
`newscomment_user`, COUNT(*) as `newscomment_count`
Ich steig mit den Joins nicht durch, kannst mir vlt. helfen?
|
|
superrichi - 43
Fortgeschrittener
(offline)
Dabei seit 10.2006
41
Beiträge
|
|
Geschrieben am: 30.11.2008 um 21:21 Uhr
|
|
Hehe, sorry. zu voreilig.
Nichtsdestotrotz. Sieht ungefähr so aus
Select x,y,z
from tableA Inner Join TableB
on tableA.spalte = tableB.spalte
Group...
|
|
Inco - 37
Halbprofi
(offline)
Dabei seit 09.2005
178
Beiträge
|
|
Geschrieben am: 30.11.2008 um 21:23 Uhr
|
|
Ausschmücken und mit Joins arbeiten
Driven by Instinct !
|
|
superrichi - 43
Fortgeschrittener
(offline)
Dabei seit 10.2006
41
Beiträge
|
|
Geschrieben am: 30.11.2008 um 21:32 Uhr
|
|
Zitat von ZER0-CooL:
Having ist dafür eindeutig das falsche, was ich brauche ist eher ein Left Join, da steig ich aber nicht ganz durch =)
Naja, having ist die bedingung von group by. Also wirste auch brauchen, wenn du da noch selektieren willst.
SELECT `newscomment_user`, COUNT(*) as `newscomment_count`
FROM `easyts_newscomment`
INNER JOIN easyts_user
ON easyts_newscomment.newscomment_user = easyts_user.user_id
GROUP BY newscomment_user
(HAVING blabla < x) oder du nimmst natürlichne einfache where clause
WHERE user_rights = y
|
|
ZER0-CooL - 36
Champion
(offline)
Dabei seit 09.2004
4459
Beiträge
|
|
Geschrieben am: 30.11.2008 um 21:36 Uhr
|
|
Danke, du bist ein Schatz
|
|