[ drugtito @ 13.03.2007. 02:16 ] @
Imam tabelu
1. ID
2. Naziv

Da li neko zna kako da napravim view,
tako da, dobijem
3 polja Naziv sa svakim trecim podatkom iz prve

Naziv 1
Naziv 2
Naziv 3

primer tabele

id Naziv

1 dali
2 micko
3. natasa
4. neven
5. jelen
6. rotor

primer rezultata za view

Naziv1 Naziv2 Naziv3

dali micko natasa
neven jelen rotor
etc........


Da li uopste postoji nacin da se napravi takav upit.
hvala unapred.
[ chachka @ 13.03.2007. 05:50 ] @
Ne koristim MySQL, ali evo ti kao ideja upit koji radi u PostgreSQL-u (mozda radi i u MySQL-u?):
Code:

SELECT p.id, MAX(p.naziv1), MAX(p.naziv2), MAX(p.naziv3)
  FROM (SELECT (id-1) / 3 AS id, naziv AS naziv1, '' AS naziv2, '' AS naziv3
          FROM imena
         WHERE (id-1) % 3 = 0
         UNION ALL
        SELECT (id-1) / 3 AS id, '' AS naziv1, naziv AS naziv2, '' AS naziv3
          FROM imena
         WHERE (id-1) % 3 = 1
         UNION ALL
        SELECT (id-1) / 3 AS id, '' AS naziv1, '' AS naziv2, naziv AS naziv3
          FROM imena
         WHERE (id-1) % 3 = 2
       ) AS p
 GROUP BY p.id
 ORDER BY p.id

Znak / je u ovom slucaju celobrojno delenje, dok je % ostatak pri celobrojnom delenju.

[ drugtito @ 14.03.2007. 00:14 ] @
Puno hvala, malo cu da modifikujem
ali bez tvog odgovora ne bih ni imao
ideju kako da resim.
poz
[ chachka @ 14.03.2007. 06:57 ] @
Moze taj upit i lepse (jasnije) da izgleda kada se izbaci ono id-1, jer to -1 moze da se regulise i sa ostatkom pri deljenju:
Code:

SELECT p.id, MAX(p.naziv1), MAX(p.naziv2), MAX(p.naziv3)
  FROM (SELECT id / 3 AS id, naziv AS naziv1, '' AS naziv2, '' AS naziv3
          FROM imena
         WHERE id % 3 = 1
         UNION ALL
        SELECT id / 3 AS id, '' AS naziv1, naziv AS naziv2, '' AS naziv3
          FROM imena
         WHERE id % 3 = 2
         UNION ALL
        SELECT id / 3 AS id, '' AS naziv1, '' AS naziv2, naziv AS naziv3
          FROM imena
         WHERE id % 3 = 0
       ) AS p
 GROUP BY p.id
 ORDER BY p.id

Treba sam pripaziti da je sada upotrebljavani ostatak pri deljenju redom 1, 2 pa tek na kraju 0.