Nicht funktionierendes Beispiel:
SELECT A*, (COUNT(B.ID) AS anzahl WHERE B.show='1')
FROM tabelle 1 AS A, tabelle2 AS B
WHERE A.ID=B.a_id
Es gibt Sub-Selects (abhängig von deiner MySQL-Version):
~~~sql
SELECT A*, (SELECT COUNT(B.ID) WHERE B.show='1') AS Anzahl
FROM tabelle 1 AS A, tabelle2 AS B
WHERE A.ID=B.a_id
Abgesehen davon hast du ein paar Unschönheiten in deiner Query:
- Nie den Stern-Selektor verwenden
- A* müsste A.* heißen
- was bezweckst du mit dem join? du holst gar keine daten von tabelle2...
- ich würde immer explizit ((LEFT|RIGHT) OUTER | INNER) JOIN schreiben, statt diese verwurstung im where, macht das lesen einfacher.
- Die Kombination von zwei Problemstellungen macht IMHO auch nicht so viel Sinn, immerhin hast du jetzt die Anzahl bei jedem zurück gelieferten Datensatz, auch wenn die mal gar nichts mit dem Datensatz an sich zu tun hat.
--
for your security, this text has been encrypted by ROT13 twice.
for your security, this text has been encrypted by ROT13 twice.