Meine Frage an diesem How to reference a custom field in SQL sehr ähnlich ist, ich die folgende Abfrage haben:ein benutzerdefiniertes Feld Verwendung in WHERE-Klausel der SQL-Abfrage
SELECT * , (SELECT COUNT(id)
FROM cms_store_items
WHERE speaker = cms_store_items_speakers.id
) AS count
FROM cms_store_items_speakers
LIMIT 0 , 30
Ich brauche eine WHERE-Klausel hinzufügen, wie WHERE count > 0
aussieht, aber wenn ich tun Ich bekomme den Fehler Unknown column 'count' in 'where clause'
Gibt es sowieso für mich, das benutzerdefinierte Feld in meiner Where-Klausel ohne duplizierende Logik zu referenzieren?
Ich könnte einfach die Logik für die WHERE-Klausel in meinem Code platzieren, aber ich möchte nicht mehr als 1000 Zeilen an die App senden, wenn nicht benötigt, es scheint nur eine Verschwendung von Ressourcen.
Erste Option funktioniert gut, scheint mein früheres (jetzt gelöschter Kommentar wegen Caching), danke für die Lösung. – UnkwnTech
Ändern Sie die Anzahl (\ *) zu zählen (i.speaker), und die Zählung (\ *) zu zählen (i.speaker), nur zukunftssichere den Code; Wenn die Notwendigkeit besteht, Zero Matches zu zählen, dann ändere einfach den inneren Join zum linken Join, ich werde deine Antwort auffrischen :) –
@Michael: Guter Fang! Vielen Dank! – Eric