passwort vergessen - registrieren

Festzeit.ch Forum » Computer » Mysql Problem Nr.2 =)

Autor Beitrag 1 - 15
neokataDi 24.6.08, 12:08
huhu

ha nomol e frog and spezialiste, vilicht weiss das öber

ursprünglcih het d abfrog eso usgseh:

SELECT t1.feld1, count(t2.feld1) AS anzahl
FROM t1 INNER JOIN t2 ON t1.feld1 = t2.feld2
GROUP BY t1.field1

jetzt isch mis problem folgendes: ich würd gern in dem count() e witeri abfrog dinne ha wo mir nur datesätz us dr 2. tabelle zellt wo e bstimmti bedingig erfülle.

also so in dere art:

count(select * from t2 WHERE t2.feld4 = 1)

wie ka mr sowas umsetze?
EgonDi 24.6.08, 13:33
würd s nid so go?

SELECT t1.feld1, count(t2.feld1) AS anzahl
FROM t1 INNER JOIN t2 ON t1.feld1 = t2.feld2
>>WHERE t2.feld4 = 1
GROUP BY t1.field1
EssenzzDi 24.6.08, 13:43
du meinsch also dass är nur alli Datesätz vo dr 2. Tabälle nimmt?

SELECT t1.feld1, count(t2.*) AS anzahl
FROM t1 INNER JOIN t2 ON t1.feld1 = t2.feld2
WHERE t2.feld4 = 1
GROUP BY t1.field1

count(t2.*): um alli Datesätz vo dr Tabälle 2 zselektiere
WHERE t2.feld4 = 1: wie Egon scho adütet het, Fälder wo nur gwüssi Bedingige erfülle. Do chasch beliebig viel mache, hängsch eifach mit AND/OR ah

hoffentlich hani richtig verstande, was du gmeint hesch
EgonDi 24.6.08, 13:53
Zitat: Essenzz
du meinsch also dass är nur alli Datesätz vo dr 2. Tabälle nimmt?

SELECT t1.feld1, count(t2.*) AS anzahl
FROM t1 INNER JOIN t2 ON t1.feld1 = t2.feld2
WHERE t2.feld4 = 1
GROUP BY t1.field1

count(t2.*): um alli Datesätz vo dr Tabälle 2 zselektiere
WHERE t2.feld4 = 1: wie Egon scho adütet het, Fälder wo nur gwüssi Bedingige erfülle. Do chasch beliebig viel mache, hängsch eifach mit AND/OR ah

hoffentlich hani richtig verstande, was du gmeint hesch
merci für d verbesserig. isch genau das wie ich s mir denkt ha... hehe.. s problem bim count isch das de nid e zweits select chasch dribaue... hehe..
EssenzzDi 24.6.08, 14:56
Zitat: Egon
merci für d verbesserig. isch genau das wie ich s mir denkt ha... hehe.. s problem bim count isch das de nid e zweits select chasch dribaue... hehe..
jep, das isch scho blöd.. Aber au nid so schlimm. Entweder machsch mehreri Abfroge oder du duesch dr ganzi Beriech selektiere und denn mit Bedingige nur das usläse, wo de bruchsch
neokataDi 24.6.08, 15:21
Zitat: Egon
würd s nid so go?

SELECT t1.feld1, count(t2.feld1) AS anzahl
FROM t1 INNER JOIN t2 ON t1.feld1 = t2.feld2
>>WHERE t2.feld4 = 1
GROUP BY t1.field1
nei das isch nid das das WHERE söll jo nur bim count() agwändet wärde.
EssenzzDi 24.6.08, 15:28
Zitat: neoPlay
nei das isch nid das das WHERE söll jo nur bim count() agwändet wärde.
Aber s WHERE spezifiziert doch s SELECT und dr SELECT holt sini Date vom FROM... anderersits wird em count scho e Variable zuegwiese... me miesst's usprobiere
1 mal bearbeitet, zuletzt Di 24.6.08, 15:28
neokataDi 24.6.08, 15:31
das wär nid logisch wenn das go würd. has grad probiert, es git es falsches ergäbnis, zeigt nur no 1 datesatz eso
EssenzzDi 24.6.08, 15:37
hmmm.. isch's möglich e Procedure z'counte? Oder wie au immer das gheisse het (gspeicherti Abfrog)
neokataDi 24.6.08, 15:59
wär mr neu dass me in mysql cha prozedure speichere kenni nur vom sql. zudem ischs nid die lösig woni will
EssenzzDi 24.6.08, 16:05
doch, s goht. Aber ich weiss nid ob me das als Solches counte chan jääänuu, denn bliebt dir nüt anders übrig s Manual z studiere oder imene MySQL Forum nochezfroge
gigXDi 24.6.08, 16:07
und was isch mit dem:
http://www.infos24.de/mysqle/handbuch/3_mysql_count.htm

abescrolle bis zum part: group by in Verbindung mit having

oder eifach count(t2.feld1 = 1) goht nid?
muess dihei mol go teste

//edith meint es wär au s falsche -.- naja
1 mal bearbeitet, zuletzt Di 24.6.08, 16:09
neokataDi 24.6.08, 16:19
mh das bispil mit having:

mysql> select count(Name) as 'Anzahl Kunden', Ort from testerone
-> group by Ort having count(Name)>2;

stimmt au nid. das isch s gliche wie mit WHERE. es got um e bedingig wo in dere "unterabfrog" vo dr eigentlich ebfrog mues erfüllt si.

im bispil obe nid d städt mit mehr als 2 persone, sondern zB d städt mit azahl WIBLICHE persone.
MöggelDo 3.7.08, 11:56
SELECT t1.feld1, count(t2.feld1) AS anzahl
FROM t1 INNER JOIN t2 ON t1.feld1 = t2.feld2
>>WHERE t2.feld1 IN (SELECT t2feld1 FROM t2 WHERE t2.feld2 = 'foobar'
GROUP BY t1.field1

kei ahnig obs passt, chan au völlig falsch si, isch mr nur grad in sinn cho...
d0mEDo 3.7.08, 11:57
Zitat: Möggel
SELECT t1.feld1, count(t2.feld1) AS anzahl
FROM t1 INNER JOIN t2 ON t1.feld1 = t2.feld2
>>WHERE t2.feld1 IN (SELECT t2feld1 FROM t2 WHERE t2.feld2 = 'foobar'
GROUP BY t1.field1

kei ahnig obs passt, chan au völlig falsch si, isch mr nur grad in sinn cho...
mängisch frog ich mi wies möglich isch das ich ganz normal öpis mit dir ka go drinke

Als angemeldeter festzeit.ch Member kannst du Themen erstellen und auf Beiträge antworten.
 
Infos/Hilfe » ©