Select v MySql

Karel Zak zakkr na zf.jcu.cz
Středa Listopad 21 09:44:36 CET 2001


On Wed, Nov 21, 2001 at 08:57:13AM +0100, Jirka K. wrote:
> SELECT c_prod.id_prod, c_prod.nazov, c_ver.verzia FROM c_prod, c_ver WHERE
>   c_ver .verzia=(SELECT c_ver.verzia, c_ver.datum FROM c_ver, c_prod WHERE
> c_ver.id_prod=c_prod.id_prod ORDER BY verzia DESC LIMIT 1,1)
>  AND c_ver.id_prod=c_prod.id_prod
> 

 Vy to mate rad slozite a pomalu, coz? :-)


 Je to typicka ukazka pouziti GROUP BY:

     SELECT p.nazov, v.datum, max(v.verzia) 
     FROM   c_ver v, c_prod p 
     WHERE  v.id_prod=p.id_prod 
     GROUP BY p.nazov, v.datum;


    Karel

> 
> Kdyby jste potreboval jeste poradit, klidne se ozvete.
> S pozdravem Jirka K.
> 
> > Mam problem. Je to sice v MySql, ale dufam ze mi poradite.
> > Mam 2 tabulky:
> > c_prod
> > -------
> > id_prod nazov
> > 01  nazov1
> > 02  nazov2
> > 03  nazov3
> > ........
> > =====================================
> > c_ver
> > -----
> > id_prod verzia datum
> > 01  1.70  12.12.2001
> > 01  1.74  13.12.2001
> > 02  1.95  12.12.2001
> > 03  1.50  10.10.2001
> > 01  1.80  13.10.2001
> > 02  1.96  12.10.2001
> >
> > Potrebujem vybrat vsetky produkty iba raz a to s najvyssou verziou a knej
> > prisluchajuci datum
> > id_prod nazov  verzia datum
> > 01  nazov1 1.80  13.10.2001
> > 02  nazov2 1.96  12.10.2001
> > 03  nazov3 1.50  10.10.2001
> >
> > mozte mi poradit????
> >
> >
> >
> 

-- 
 Karel Zak  <zakkr na zf.jcu.cz>
 http://home.zf.jcu.cz/~zakkr/
 
 C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz


Další informace o konferenci Test