Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

sql upit sa uslovom

[es] :: Access :: sql upit sa uslovom

Strane: 1 2

[ Pregleda: 4510 | Odgovora: 20 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

brankec
Bosanski Brod

Član broj: 140157
Poruke: 161
*.teol.net.



Profil

icon sql upit sa uslovom16.05.2008. u 21:23 - pre 194 meseci
Pocetnik sam u SQL-u pa bih trebao pomoc. Imam sledecu tabelu radjenu u excelu

____A_________B_______C_____D________E

1 IME________TIP_____DAN___RED____TIP+RED
2 branko____dolazak____1_____1_____dolazak1
3 branko____dolazak____1_____2_____dolazak2
4 branko____dolazak____1_____1_____odlazak1
5 branko____dolazak____2_____1_____dolazak1
6 branko____odlazak____2_____1_____dolazak1
7 branko____odlazak____2_____2_____odlazak2
8 branko____odlazak____2_____3_____odlazak3

Kolone su sortirane po imenu, tipu pa danu. U excelu ovaj posao resavam na sledeci nacin: Kolonu RED dobijam tako sto u polje d1 unesem broj 1 a ostala polja dobijam sa sledecim if uslovom =IF(AND(C2=C3;B2=B3);D2+1;1). Kolonu TIP+RED dobijam tako sto spojim kolonu tip i red (ocito). Ovaj problem resavam u excelu zato sto ne znam kako bih u accessu u upitu dobio kolonu RED, odnosno TIP+RED. Nedavno sam poceo uciti SQL pa me muci kako da napravim onaj if uslov od malopre. Hvala na svakoj pomoci.
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: sql upit sa uslovom20.05.2008. u 14:01 - pre 194 meseci
Pogledaj Access help za komandu iif (tacno, iif, ne if) iif ima sintaks gotovoo identicnu Excelovoj i moze se koristiti i u kveriju. Bas ono sto ti treba.
:-)
 
Odgovor na temu

brankec
Bosanski Brod

Član broj: 140157
Poruke: 161
*.teol.net.



Profil

icon Re: sql upit sa uslovom20.05.2008. u 22:27 - pre 193 meseci
Dobro mi je poznata iif funkcija, ali ono sto mene muci je kako da formulisem uslov da ako je prvi podatak (polje) u odredjenoj koloni jednak drugom podatku onda ... . U excelu je to lako, ali kako to resiti u accessu, to je ono sto mene muci.
 
Odgovor na temu

Scelle
Slavko Šćekić
Student, Računarski fakultet
Beograd

Član broj: 151761
Poruke: 174
212.200.65.*



Profil

icon Re: sql upit sa uslovom21.05.2008. u 00:02 - pre 193 meseci
Zaista ne mogu da kazem da sam shvatio tvoj problem u potpunosti - nije mi uopste jasan tvoj prvi post. Ali, ipak sam nesto uradio i nadam se da ce ti pomoci.
Pogledaj u bazi koju sam prikacio upit pod nazivom qryPoredjenje (otvori ga u design modu - ne mozes promasiti, jedini je... ). Ako zelis da vidis "sirovu" SQL verziju, klikni desnim tasterom misa na njegovu naslovnu liniju i odaberi SQL view.

Ako nisam pogodio problem, molim te da ga malo bolje objasnis - naravno ako zelis da ti pomognemo.

P.S. Zidar je u pravu, iif funkcija je identicna onoj u Excell-u.
"Takozvani praktični ljudi bili bi korisni i zasluživali bi svaku pohvalu i poštovanje kad od te svoje praktičnosti ne bi hteli da naprave smisao života i razlog svoga opstanka, opravdanje za podjarmljivanje i terorisanje svih onih koji su lišeni toga praktičnog smisla, ali zato stvoreni za druge, možda više i bolje podvige."

Ivo Andric
Prikačeni fajlovi
 
Odgovor na temu

brankec
Bosanski Brod

Član broj: 140157
Poruke: 161
*.teol.net.



Profil

icon Re: sql upit sa uslovom21.05.2008. u 16:50 - pre 193 meseci
Nastojacu biti jasniji: poredjenje tipa ako je vrijednost u koloni1 jednaka vrijednosti u koloni2 onda uradi nesto u koloni3, inace uradi nesto drugo u koloni3 nije problem.
Problem je u tome kako napisati uslov tipa: ako je vrijednost u koloni1-redu1 (prvi podatak) jednaka vrijednosti u koloni1-redu2 (drugi podatak) onda uradi nesto u koloni2-redu1.
Znaci kako napisati uslov koji se odnosi na vise redova ISTE kolone, a ne razlicitih kolona a istih redova (ovo potonje je sasvim jasno).
 
Odgovor na temu

boki026
ing
Smederevo

Član broj: 175089
Poruke: 36
*.internet.krstarica.net.



Profil

icon Re: sql upit sa uslovom21.05.2008. u 18:49 - pre 193 meseci
Ne vidim drugi nacin nego da ti ta dva reda iz iste kolone u access-u budu dva razlicita polja (kolone).
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: sql upit sa uslovom21.05.2008. u 19:23 - pre 193 meseci
Da li posle upoređivanja vrijednost u kolona1-red1 sa kolona1-red2 i izvršenja promene u koloni2 reda1 sledi isto takvo poređenje između reda2 i reda3, pa reda 3 reda4........ sve do kraja tabele?
 
Odgovor na temu

brankec
Bosanski Brod

Član broj: 140157
Poruke: 161
*.teol.net.



Profil

icon Re: sql upit sa uslovom21.05.2008. u 19:35 - pre 193 meseci
Da GETSBI, upravo tako. Znaci treba mi uslov i petlja.
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: sql upit sa uslovom21.05.2008. u 19:49 - pre 193 meseci
To se može odraditi u VBA kodu i pokrenuti na On Click događaj nekog dugmeta. Zakači primer tabele i nešto testnih podataka u .mdb fajlu pa ću da ti napišem VBA kod. Obavezno napiši uslov u nekoj labeli na formi da bi bilo jasno šta je cilj (svrha) poređenja.
 
Odgovor na temu

brankec
Bosanski Brod

Član broj: 140157
Poruke: 161
*.teol.net.



Profil

icon Re: sql upit sa uslovom21.05.2008. u 20:05 - pre 193 meseci
Getsbi ako mozes prvo da mi napises da li je ovaj uslov uopste moguce uraditi u ACCESS-u (mislim preko njegovih funkcija). Posle tvog posta pretpostavljam da ne moze. Drugo, ako ne moze u access-u da li moze u SQL-u (poceo sam uciti microsof sql server 2005). Ako moze kako.
Ako ne moze ni na jedan nacin onda cu prvo da pripremim tabelu pa cu ti najverovatnije sutra posle 15 sati uplodovati (posle mog radnog vremena).
U svakom slucaju hvala ti, a i ostalima.
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: sql upit sa uslovom21.05.2008. u 20:12 - pre 193 meseci
Možda i može ali ja ne znam bolji način.
 
Odgovor na temu

brankec
Bosanski Brod

Član broj: 140157
Poruke: 161
*.teol.net.



Profil

icon Re: sql upit sa uslovom21.05.2008. u 20:17 - pre 193 meseci
Posteno od tebe.
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: sql upit sa uslovom21.05.2008. u 21:24 - pre 193 meseci
Citat:
Problem je u tome kako napisati uslov tipa: ako je vrijednost u koloni1-redu1 (prvi podatak) jednaka vrijednosti u koloni1-redu2 (drugi podatak) onda uradi nesto u koloni2-redu1.
Znaci kako napisati uslov koji se odnosi na vise redova ISTE kolone


U nekim slucajevima, zadatak moze da se resi u kveriju, a nekada ne. U SQL (pa i Accesu) mogu da se kverijima resavaju zadaci tipa "prikazi zbir svih prethodnih rekorda do tekuceg". Takvi kveriji su prilicno komplikovani za pisanje i mogu da budu dosta spori za izvrsavanje. Zbog toga mnogi ljudi pribegavaju programiranju - cesto je lakse napisati proceduralni kod koji neto odradi nego se maltretirati sa komplikovanim kverijem. Nije ni Excel tako naivan kao sto izgleda :-)

Ako vec ucis sql server 2005, obrati paznju na poglavlje od correlated subqueries. U MS SQL mnogo toga moze da se uradi, ali je isto tako prilicno komplikovano. Mnogo toga sto u Accesu ne moze kverijem da se resi, u MS SQL moze.

Postavi konkretan zadatak, pa da pokusamo da pokazemo- kako se to moze (ako moze) uraditi kverijem, i kako se to programira 'na dugme'. NA forumu Baze Podataka imas top temu Mozgalice gde mozes da vidis kakve sve nebuloze mogu da se odrade u SQL i da se programiranje izbegne, berem teoretski.

:-)
 
Odgovor na temu

brankec
Bosanski Brod

Član broj: 140157
Poruke: 161
*.teol.net.



Profil

icon Re: sql upit sa uslovom21.05.2008. u 22:15 - pre 193 meseci
Evo upload-ovo sam tabelu TEST u access-u. Ona je sazet oblik onog sto mi koristimo na poslu. Sledi par objasnjenja uz upload:
kolone se sortiraju po imenu, danu i tipu. Prva vrsta tipa (npr dolazak) u jednom danu treba dobiti sufiks 1, druga 2 itd. Znaci dolazak1, dolazak2, odlazak1, privatni odlazak1 itd. Ovo se radi ponovo za svaki novi dan. Znaci za drugi dan ide opet dolazak1, itd. I tako za svako ime.

Tabelu StaTrebaDobiti sam napravio da bi tacno znali sta je krajnji rezultat. Momci hvala vam na pomoci.
Prikačeni fajlovi
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: sql upit sa uslovom22.05.2008. u 10:52 - pre 193 meseci
Da bi Access znao koji od dva ista zapisa da uzme mora mu se obezbediti minimalni uslov za to bar primarnim ključem AutoNumber.
Forma „Form1“ pokreće javnu funkciju “Obrada1()“. Pojašnjenje je u VBA kodu.
Dodao sam kolonu „STATUS“ i nju editovao, da bi bilo jasnije i jednim pogledom uočljiv rezultat umesto gledanja u tabelu „StaTrebaDobiti“. Za ponovno testiranje, pobriši vrednosti iz kolone „STATUS“.

Prikačeni fajlovi
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: sql upit sa uslovom22.05.2008. u 18:04 - pre 193 meseci
Dobio si lepo objasnjen kod. Evo sada i kveri koji radi ono sto treba:
Code:
SELECT   A.IME,
         A.DAN,
         A.TIP,
         (SELECT 1 + COUNT(* )
          FROM   TEST AS B
          WHERE  B.IME = A.IME
                 AND B.DAN = A.DAN
                 AND B.TIP = A.TIP
                 AND A.ID > B.ID) AS REDNIBROJ,
         A.ID
FROM     TEST AS A
ORDER BY A.IME,
         A.DAN,
         A.ID;


Ovaj query mora da se kuca, ne moze da se uradi ceo u query designer prozoru. Smeta subquery. Subquery je correlated, ima WHERE uslov koji gleda u glavni query. Ako ipak rdosled za RedniBroj nije u redu, probaj da stavis A.ID < B.ID umesto A.ID > B.ID u subkveriju.

Da bi ovo moglo da radi, potreban je ID autonumber, koji definise redosled odlazaka i dolazaka. Bolje bi bilo da imas neko vreme odlaska/dolaska, jer tada ne bi zavisio od fizickog redosleda unosenja u tabelu.

 
Odgovor na temu

brankec
Bosanski Brod

Član broj: 140157
Poruke: 161
*.teol.net.



Profil

icon Re: sql upit sa uslovom22.05.2008. u 18:25 - pre 193 meseci
Momci, hvala vam na pomoci. Sad mi treba neko vreme da analiziram kodove i prilagodim svojim potrebama.
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: sql upit sa uslovom22.05.2008. u 18:59 - pre 193 meseci
Eto sad imaš dva rešenja. Zidarevo je svakako elegantnije. Da si u prvom postu objasnio onako dobro kao u svom trećem ne bi čekao 5 dana.
 
Odgovor na temu

brankec
Bosanski Brod

Član broj: 140157
Poruke: 161
*.teol.net.



Profil

icon Re: sql upit sa uslovom22.05.2008. u 19:17 - pre 193 meseci
Covjek se uci dok je ziv.
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: sql upit sa uslovom22.05.2008. u 20:31 - pre 193 meseci
Sta je elegantnije, to je stvar ukusa Ko brze programira nego sto pise kabaste kverije, brze ce isprogramirati sta mu treba i svi srecni. Ja sam suvise lenj da pisem kod, pa otud kveriji.

Mnogo vaznije je sto je Getsbi ukazao na potrebu dodavanja kolone koja odredjue stvarni redosled rekorda u tabeli test. Bez dodavanja necega sto ce poredjati rekorde, kveri ne bi bio moguc, a ni kod ne bi radio. U Excelu je redosled fiksiran - sto vidis u tabeli, to je to i uvek ce biti tako. Access generalno vraca rekorde u proizvoljnom redosledu.

 
Odgovor na temu

[es] :: Access :: sql upit sa uslovom

Strane: 1 2

[ Pregleda: 4510 | Odgovora: 20 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.