Wozu eigentlich SELECT 1 FROM ....
hotti
- datenbank
Moin,
s. Thema. Ich bekomme eine leere Menge mit
SELECT 1 FROM log WHERE hugo = '123';
DB ist MySQL 5.1.40-community
Schöner wär's doch, eine '0' zu kriegen, wenn es den 'hugo' nicht gibt. Oder gäbe es da noch eine andere Abfrage, die exakt 1 ODER 0 liefert?
Hotti
Hi,
s. Thema. Ich bekomme eine leere Menge mit
SELECT 1 FROM log WHERE hugo = '123';
Oder gäbe es da noch eine andere Abfrage, die exakt 1 ODER 0 liefert?
Mit EXISTS:
SELECT EXISTS (SELECT * FROM log WHERE hugo = '123');
Bis die Tage,
Matti
hi Matti,
Oder gäbe es da noch eine andere Abfrage, die exakt 1 ODER 0 liefert?
Mit EXISTS:
SELECT EXISTS (SELECT * FROM log WHERE hugo = '123');
Wow, geht, danke Dir!!!
Gibts evntl. einen Grund, das "SELECT 1 ... " nicht ganz in die Tonne zu treten (andere Verwendung)?
Viele Grüße!
Tach!
Gibts evntl. einen Grund, das "SELECT 1 ... " nicht ganz in die Tonne zu treten (andere Verwendung)?
Sicher, aber nicht für das Ermitteln einer Anzahl (selbst wenn die genaue Zahl nicht weiter interessiert). Dafür gibt es COUNT(*).
dedlfix.
hi,
.. Dafür gibt es COUNT(*).
Falls Du COUNT(*) verwendest, google mal nach 'Select tables optimized away', das dürfte Dich evntl. interessieren.
Hotti
Tach!
.. Dafür gibt es COUNT(*).
Falls Du COUNT(*) verwendest, google mal nach 'Select tables optimized away', das dürfte Dich evntl. interessieren.
Hat nur nichts mit deiner Frage zu tun, weil du eine WHERE-Klausel verwendest, bei der MySQL nicht einfach so die Anzahl aus den Tabellen-Metadaten auslesen kann.
dedlfix.