Als ik de volgende query heb:
tabel A heeft als primary key id en in tabel B staan vaak meerdere rows die naar zo'n id verwijzen. Het probleem als ik die join is dat ik dus meerdere rows per id kan terugkrijgen. Deze query werkt daarom niet, want wat ik wil is tellen hoeveel keer er een id voorkomt waarbij die selectie criteria voldaan worden. Eigenlijk zou ik dus eerst moeten kunnen groeperen op id, en dan pas op veld3 waarbij ik die COUNT() laat gelden. Maar ik zie niet hoe ik dat zou kunnen doen zonder subqueries. Iemand een idee?
MySQL:
1
2
3
4
5
6
7
8
9
10
| SELECT COUNT(id) AS total FROM A, B WHERE ( (A.veld1='een' OR A.veld1='twee') || (B.veld2='a' OR B.veld2='b') ) AND A.id = B.a_id GROUP BY A.veld3 |
tabel A heeft als primary key id en in tabel B staan vaak meerdere rows die naar zo'n id verwijzen. Het probleem als ik die join is dat ik dus meerdere rows per id kan terugkrijgen. Deze query werkt daarom niet, want wat ik wil is tellen hoeveel keer er een id voorkomt waarbij die selectie criteria voldaan worden. Eigenlijk zou ik dus eerst moeten kunnen groeperen op id, en dan pas op veld3 waarbij ik die COUNT() laat gelden. Maar ik zie niet hoe ik dat zou kunnen doen zonder subqueries. Iemand een idee?