Autor Zpráva
kvoky
Profil
Zdravím,

SELECT proxy, 
        used as (SELECT count(*) FROM proxy_used2 WHERE list_id=a.id AND (time<'$day_today' OR time='') GROUP BY list_id)
                FROM proxy_list2 a  
                WHERE error IS NULL 
                AND used IS NULL


kde je chyba? hlasi to:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(SELECT count(*) FROM proxy_used2 WHERE list_id=5 AND (time<'1212616800' OR time' at line 2
nightfish
Profil
nemělo by to být spíš takhle?
SELECT proxy, (SELECT count(*) ....) as used FROM proxy_list2 a WHERE ...
kvoky
Profil
To už jsem zkoušel ale vrací to tohle:

Unknown column 'used' in 'where clause'.

Možná by to šlo jinak přes JOIN... jenže má to vzít i ty záznamy kde není žádný ekvivalent (time) v druhé tabulce a pokud dám time IS NULL nebo time='' nic to nevrací.
lordfrikk
Profil
"as used" by mělo být určitě až za příslušným blokem. Co se týče té chybové hlášky "Unknown column 'used' in 'where clause'.", ta snad mluví sama za sebe, ne? Tohle lze najíst v MySQL manuálu:

Standard SQL doesn't allow you to refer to a column alias in a WHERE clause.


Proto se používá pro podmínky s aliasy klauzule HAVING namísto WHERE.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: