SQL COUNT Problem

Prophet_Al

Grünschnabel
Hallo,

Ich habe 2 Table und möchte mit COUNT z.b wie hier dargestellt aus der Spalte text die anzahl der User mit dem Eintrag "hallo" auslessen dazu aber nur die aus der Usergruppe (ugroup) 2 und 7 z.b so das hier als Ergebniss 2 rauskommen würde.

Table1

uid | ugroup
----------------
1 | 2
2 | 2
3 | 5
4 | 5
5 | 7

Table2

uid | text
-------------
1 | hallo
2 | test
3 | hallo
4 | hallo
5 | hallo



Ich habe es hiermit versucht aber es klappt nicht ganz ! Kann mir jemand helfen ?

PHP:
$sql = "select count(*) as anzahl
	FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug 
	WHERE u.user_from_rasse = 'hallo'
	AND u.user_id  = ug.user_id
	AND ug.group_id = 2 
                     AND ug.group_id = 7";
 
$sql = "select count(*) as anzahl
FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug
WHERE u.user_from_rasse = 'hallo'
AND u.user_id = ug.user_id
AND

(ug.group_id = 2 OR ug.group_id = 7)" ;

Versuchs mal mit dem OR in der letzen Bedingung weil ja beide Gruppen möglich sind die eine ODER die andere. Es wird schwer beide Bedingungen gleichzeitig zu erfüllen (and).
vop
 
Ausserdem soll aus beiden und nicht aus einer oder der anderen
versteh ich nicht ganz..also wenn du dort AND verwendest zeigt er nie was an, weil ja die group_id nie 2 UND 7 sein kann...die sollte doch eindeutig sein..

PHP:
select count(*) as anzahl 
    FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug 
    WHERE u.user_from_rasse = 'hallo' 
    AND u.user_id  = ug.user_id 
    AND (ug.group_id = 2 
                     OR ug.group_id = 7)";

so würde das für mich sinn machen.. hast du bei deinem test die klammern verwendet sonst funktionierts nämlich wieder nicht, weil AND vor OR kommt.
 
Du hast recht so Funktioniert es mit den Klammern hatte ich Übersehen thx vop & mathiu :)

Noch eine frage wenn ich mehrere Wörter zählen will z.b test und hallo aber für jedes eine extra ausgabe also nicht zusammen Rechnen wie macht man das am besten ?
 
Code:
select text, count(text)
from tabelle
where text = 'bla1'
  or text = 'bla2'
group by text
Vor der nächsten Frage liest Du besser das MySQL-Manual und wenn Du dann noch Fragen hast, gehst Du damit bitte ins SQL-Forum. Hier werden nämlich PHP-Problematiken diskutiert!

snuu
 
Zurück