[ nikol@c @ 15.01.2012. 19:41 ] @
Pozdrav,

imam dvije tabele ZAPISI i ISTORIJA, prilikom svake promjene zapisa u istoriju cu unjeti zapis_id, vrijeme_izmjene i novi_status_zapisa.
Zapis moze biti promijenjen nekoliko puta, a ja bih trebao da selektujem sve zapise sa pridruzenim istorijama samo poslije prve promjene.

Nesto kao: SELECT * FROM zapisi z JOIN istorija i on i.zapis_id = z.zapis_id ... e sada mi treba zapis samo sa svojom drugom promjenom.

hmmm, nisam siguran da li sam ovo jasno napisao :)
[ bogdan.kecman @ 15.01.2012. 20:56 ] @
ne valja ti taj koncept
[ nikol@c @ 15.01.2012. 21:38 ] @
Pozdrav Bogdane,

ako mislis na koncept baze podataka, vjerujem da nije dobar, ali sada se ne moze mijenjati. Ako mislis na koncept pitanja :) pokusacu ponovo...

Htio bih da selektujem i grupisem zapise tako sto cu dobiti svaki zapis samo jednom ali sa istorijom koja je upisana nakon druge izmjene zapisa.
[ bogdan.kecman @ 15.01.2012. 22:27 ] @
koncept baze - kompletno ne valja ako ti ikad treba "svaki drugi" bilo sta...

"e sada mi treba zapis samo sa svojom drugom promjenom"
"sa istorijom koja je upisana nakon druge izmjene zapisa"

sta ovo znaci ?! aj lepo ti ovde copy paste create table i neke inserte koji napune te tabele sa nekom datom pa onda napisi sta bi teo da dobijes nazad

[ nikol@c @ 15.01.2012. 22:55 ] @
Sto se tice baze ovo je vanredna situacija, aplikacija sama po sebi ovakav rezultat nikada nece traziti, problem je sto su neki statusi rucno izmjenjeni, da ne ulazim u nepotrebne detalje :)

ovo su tabele

Code:

+-------------+----------+
| zapis_id    | staus    |
+-------------+----------+
|    1        | uplacen  |
|    2        | uplacen  |
+-------------+----------+

Code:

+----------------+-------------+-----------+--------------------------+
| istorija_id    | zapis_id    | status    | vijeme                   |
+----------------+-------------+-----------+--------------------------+
|    1           | 1           | init      | 2011-11-01 11:00:00      |
|    2           | 1           | odbijen   | 2011-12-01 12:00:00      |
|    3           | 1           | odobren   | 2011-13-01 13:00:00      |
|    4           | 1           | uplacen   | 2011-14-01 14:00:00      |
|    5           | 2           | init      | 2012-11-01 11:00:00      |
|    6           | 2           | odobren   | 2012-12-01 12:00:00      |
|    7           | 2           | uplacen   | 2012-13-01 13:00:00      |
+----------------+-------------+-----------+--------------------------+


ja bih htio da dobijem sljedeci rezultat
Code:

+----------------+-------------+-----------+--------------------------+
| istorija_id    | zapis_id    | status    | vijeme                   |
+----------------+-------------+-----------+--------------------------+
|    2           | 1           | odbijen   | 2011-12-01 12:00:00      |
|    6           | 2           | odobren   | 2012-12-01 12:00:00      |
+----------------+-------------+-----------+--------------------------+


nadam se da je sada jasnije.
Pozdrav.
[ bogdan.kecman @ 15.01.2012. 23:44 ] @
nije nesto al ce da radi iz prve :D
za "jednom" nije frka

Code:

SELECT zapis.zapis_id, 
  (SELECT istorija.ist_id 
      FROM istorija WHERE istorija.zapis_id=zapis.zapis_id 
      ORDER BY istorija.vrijeme limit 1,1) as drugaistorijaid, 
  (SELECT istorija.opis 
      FROM istorija WHERE istorija.zapis_id = zapis.zapis_id 
      ORDER BY istorija.vrijeme limit 1,1) as istorijaopis  
FROM zapis;

[ bogdan.kecman @ 15.01.2012. 23:46 ] @
ako oces svaki "prvi" onda limit 1, ako oces svaki treci onda limit 2,1 .. etc etc