[ drugtito @ 11.06.2008. 11:59 ] @
Hi
Zeleo bih da napravim upit u kojem ce pored rezultata
biti dodato polje redni broj koje funkcionise
slicno autoincrement-u, tipa

tabela:
id Ime Prezime

1 Ana Mihic
2 Bojan Nikolic
3 Vlada Majstorivic etc...............


SELECt * FROM clanovi where Prezime like 'M%'

sa tim da ih redno prebroji znaci u rezultatu bi trebalo da bude

r.br id Ime Prezime
1 1 Ana Mihic
2 3 Vlada Majstroivic
3 15 .......................... etc


hvala



[ stsung @ 11.06.2008. 12:51 ] @
Pozd.

Ako ovakav redni broj nema upotrebnu vrednost (tj. ne predstavlja nishta), nikako ti ne preporuchujem da ovo radish, iz vishe razloga. Ako ti je redni broj potreban samo radi prikaza na nekom ekranu, treba da to uradish u hodu, odnosno pri prikazu podataka.

Svako dobro.
[ drugtito @ 11.06.2008. 13:23 ] @
Ima upotrebnu vrednost,
treba mi da bih nakon kreiranja
view-s uradio JOIN tih, da kazem, temp tabela
gde bi se uporedjivali redni brojevi.
[ stsung @ 11.06.2008. 13:29 ] @
Pozd.

Nisam bash siguran da te razumem, mozhda kada bi malo vishe opisao shta zhelish da postignesh. Zbog chega autoincrement polje ne mozhe da posluzhi? Razlog zbog kojeg sam ti rekao da to nije dobra ideja, je zato shto prvo morash da na komplikovaniji nachin vrshish ubacivanje podataka u bazu. Potom shta ako se obrishe neki podatak, treba sve brojeve vracati unazad? U normalnoj db schemi ovako se neshto ne implementira upravo zbog tih problema, a i prema sopstvenom iskustvu, sigurno je da postoji alternativnije i lakshe reshenje.

Svako dobro.
[ drugtito @ 11.06.2008. 13:40 ] @
Pa kreiram razlicite view-s iz iste tabele
tako da su ID-jevi vec razliciti i nemogu se iskoristiti
jedini nacin na koji ja vidim jeste kada bih dodao redne brojeve
u svaki view i nakon toga to sve spojio u jednom upitu.

da pojasnim:

iz tabele artikli zadajem upit da nadjem prva dva artikla koji se
odmah prodaju nakon hleba. to bi bio jedan view
u drugom nakon malbora recimo i tako jedno 8 view-a.

e sad pravim upit gde kazem
da mi spoji rezultate u jedan pregled
ali imam problem da spojim ove view-s jer nemaju ni jedno
polje koje se poklapa za uslov

SELECT nesto.*, nesto2.* FROM tbl1 INNER JOIN tbl2
ON ????????????????????????/

Palo mi je napamet da u svakom upitu dodam prvo polje
redni broj 1,2,3,4 etc (koje bi bilo isto u svakom rezultatu iz view-a)
sto bih nakon toga isoristio
za spajanje u krjnjem Query-ju

ON nesto.RedniBroj=nesto2.ReniBroj

eto

Generalno malo je komplikovano za objasniti zasto mi bas treba ali
trenutno bi mi moguznost dodavanja rednog broja fenomenalno
zavrsila posao.

pozdrav
[ bags @ 11.06.2008. 13:55 ] @
Tebi treba unija tih view-a.

Pogledaj sintaksu za UNION u mysql-u.
[ stsung @ 11.06.2008. 13:56 ] @
Pozd.

Otprilike sam shvatio shta si napisao, i i dalje mislim da je nachin pristupa problemu pogreshan i da ce ti doneti samo probleme.

No, da bi ubacivao redne brojeve na nachin kako si opisao, koristi se jednostavan upit:

Code:

INSERT INTO artikli (polje1,polje2,polje3,rednibroj)
SELECT "pasulj prebranac","100 evra","1 kg", ifnull(max(rednibroj),0)+1
from artikli
group by 1,2,3


Naravno prepravicesh da odgovara tvojoj konstrukciji.

Svako dobro.
[ drugtito @ 11.06.2008. 14:00 ] @
@ stung : Hvala
@ bags hvala takodje, ali mi trab izlistano jedno pored drugog a ne ispod kao sto UNION daje

elem mislim da je to to

poz svima

[ Shinhan @ 24.06.2008. 13:55 ] @
Citat:
drugtito:
@ bags hvala takodje, ali mi trab izlistano jedno pored drugog a ne ispod kao sto UNION daje

Pa zato služi sortiranje!
Ako ne definišeš sortiranje, naravno da neće unija sama da se sortira, ali je trivijalno dodati sortiranje. MySQL UNION dokumentacija opisuje sortiranje već u drugom primeru. Ajde malo bolje čitaj dokumentaciju sledeći put.
[ drugtito @ 24.06.2008. 17:56 ] @
@Shinhan mislim da ili nisi shvatio moj problem ili nisi dobro procitao
ali sve jedno hvala.
Elem jedno jedino resenje sam smislio za sad @TEMA
a to je da se napravi nova tabela, i normalno pre
pravljenja da se proveri da li postoji i obrise,
cisto da ne pravimo dzumbus u bazi.

Code:

   DROP TABLE IF EXISTS redni_broj;

  CREATE TABLE `baza`.`redni_broj` (
  `Id` INTEGER UNSIGNED NOT NULL DEFAULT NULL AUTO_INCREMENT,
  PRIMARY KEY(`Id`)
  )
  ENGINE = InnoDB SELECT nesto as tip,nesto_1 as tip_1, count(*)AS br_puta FROM neka_baza where Id IN
  (SELECT Id+1 FROM `baza`.`tabela` where nesto=uslov)
  GROUP BY nesto 
  ORDER BY br_puta DESC;


Elem, nakon ovoga mogu uraditi JOIN LEFT, RIGHT whatever.....
Tako da jedino resenje koje sam uspeo da smislim a da funkcionise
uz dodavanje nove tabele koju nakon svega mozemo obrisati je ovo,
OK moze i temp tabela... valjda.....

Mozda posluzi nekom.
poz