SQL upit

SQL upit

offline
  • Pridružio: 24 Nov 2009
  • Poruke: 128
  • Gde živiš: Zemun

Napisano: 15 Jan 2013 10:34

Ljudi treba mi pomoc.

pokusavam da izvucem podatke ali uslov je da mi izvuce podatke samo za poslednju promenu pokusao sam vise varijanti npr.

select vel_cen from proiz_cen where cen='11' and sif_rob='10051' and datum_promene = (select max(datum_promene) from proiz_cen)

pokusao i

select vel_cen from proiz_cen where cen='11' and sif_rob='10051' and datum_promene in (select max(datum_promene) from proiz_cen)

oba prethodna upita mi ne izbacuju nista

neka ideja?!

ovo je bez uslova za datum!
10051 732.560000 6/17/2010 2:30 PM
10051 654.480000 2/11/2011 9:55 AM
10051 654.480000 2/17/2011 10:08 AM
crvenom bojom je oznaceno ono sto zelim da dobijem!!!

Dopuna: 15 Jan 2013 10:35

a da bude lakse prvo je id pa vel_cen pa datum_promene Very Happy



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • soxxx 
  • Prijatelj foruma
  • Pridružio: 25 Maj 2005
  • Poruke: 1482
  • Gde živiš: Gracanica, Kosovo

Koji SQL je u pitanju?

Probaj da izbacis to za datum_promene i stavi:
SELECT TOP 1 ...... ORDER BY datum_promene DESC
To je ako zelis samo taj zadnji unos.



offline
  • Pridružio: 24 Jun 2003
  • Poruke: 45
  • Gde živiš: Banja Luka

vladimir_tubic ::Napisano: 15 Jan 2013 10:34

Ljudi treba mi pomoc.

pokusavam da izvucem podatke ali uslov je da mi izvuce podatke samo za poslednju promenu pokusao sam vise varijanti npr.

select vel_cen from proiz_cen where cen='11' and sif_rob='10051' and datum_promene = (select max(datum_promene) from proiz_cen)

pokusao i

select vel_cen from proiz_cen where cen='11' and sif_rob='10051' and datum_promene in (select max(datum_promene) from proiz_cen)

oba prethodna upita mi ne izbacuju nista

neka ideja?!

ovo je bez uslova za datum!
10051 732.560000 6/17/2010 2:30 PM
10051 654.480000 2/11/2011 9:55 AM
10051 654.480000 2/17/2011 10:08 AM
crvenom bojom je oznaceno ono sto zelim da dobijem!!!

Dopuna: 15 Jan 2013 10:35

a da bude lakse prvo je id pa vel_cen pa datum_promene :D


Pozdrav,

Prvi upit koji si postavio radi, ali dio upita (select max(datum_promene) from proiz_cen) vraca ti max datum u cijeloj tabeli, a ne posljednji datum gdje je cen='11' and sif_rob='10051'.

Pretpostavljam da ti treba nesto ovako:

select vel_cen from proiz_cen where cen='11' and sif_rob='10051' and datum_promene = (select max(datum_promene) from proiz_cen where cen='11' and sif_rob='10051' )

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

Prvo, subselect (select unutar select-a) je generalno lose resenje, narocito ako ga je moguce izbeci, a ovaj put jeste - i to prilicno jednostavno.

Ako ti treba record kad je izvrsena poslednja promena, mislim da bi trebalo da pokusas da sortiras po datumu izmene u opadajucem redosledu, i select-ujes prvi rekord:

SELECT vel_cen FROM proiz_cen WHERE cen='11' and sif_rob='10051' ORDER BY datum_promene DESC LIMIT 1

offline
  • soxxx 
  • Prijatelj foruma
  • Pridružio: 25 Maj 2005
  • Poruke: 1482
  • Gde živiš: Gracanica, Kosovo

Mislim da LIMIT ne radi na MSSQL, zato sam pitao koja baza je u pitanju, a pretpostavio sam da je MSSQL pa sam dao to resenje iznad. Coveka nema da se javi, tako da moramo da sacekamo... Wink

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

soxxx ::Mislim da LIMIT ne radi na MSSQL

In that case...

SELECT TOP 1 vel_cen FROM proiz_cen WHERE cen='11' and sif_rob='10051' ORDER BY datum_promene DESC

kao sto si i sam napisao par postova iznad Smile

Ko je trenutno na forumu
 

Ukupno su 881 korisnika na forumu :: 35 registrovanih, 3 sakrivenih i 843 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 20624 - dana 04 Apr 2026 04:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 8u47, _Rade, ALEXV, awathorn, bojank, Borski1977, brundo65, DejanSt, DH, dinamik, Duschi, Ezbuck, Jackk, Joint Chief, kuntakinte, Lap720, maksi007, Marko Marković, MarkoW, Mrav Obrad, mrvica78, nemkea71, Neno25, Petar888, rikirubio, royst33, Shilok, Simulink11000, Sićko, tomo2, Valter071, vasa.93, vrag81, Zastava, zule2