Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 4.578 pregleda

Najnovija ↓

Da li se ovo moze resiti upitom? 06.08.2006. u 17:37 · pre 246 meseci #1
Pokusavam da napravim upit nad jednom tabelom i jednim upitom.
Tabela ime polja:Sifra ankete, Sifra agencije i Iznos, a upit: Sifra ankete, Sifra agencije i Uplata.
Sad sam htela da napravim upit koji ce racunati razliku polja Iznos i Uplata i to radi OK za polja za koja imam vrednosti u prethodnom upitu, ali kako da napravim da ako nije bilo ni jedne uplate on da vrednost polja Iznos?
Re: Da li se ovo moze resiti upitom? 06.08.2006. u 18:47 · pre 246 meseci #2
To se postize upotrebom LEFT OUTER JOIN umesto obicnog JOIN. U design view Access upita relaciji izmedju dve tabele (u tvom slucaju tabele i upita) postavis opciju povezivanja pod rednim brojem 2 (include ALL records ...) umesto default opcije 1.

Usput moras proveriti da li je uplata NULL, i ako jeste zameniti je sa 0. To postizes u Acesu sa IIF(Uplata IS NULL, 0, Uplata).


PS:
Da li i dalje stojis iza recenice iz posta Kako povezati ove tabele??
Citat:

... ali htela sam da kazem posto se anketaru isplata za odredjenu, obavljenu, anketu vrsi odjednom, ne u ratama
Potpis
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
Re: Da li se ovo moze resiti upitom? 06.08.2006. u 21:11 · pre 246 meseci #3
Upit (UkupneUplatePoAnketi) nad kojim vrsim drugi upit ima ovaj kod:

Code:

SELECT Ankete.[Sifra ankete], Ankete.[Sifra agencije], Sum(Uplate.[Iznos uplate]) AS Uplata
FROM Ankete LEFT JOIN Uplate ON Ankete.[Sifra ankete]=Uplate.[Sifra ankete]
GROUP BY Ankete.[Sifra ankete], Ankete.[Sifra agencije];


A, nad njim i tabelom Ankete postavljam sledeci upit:
Code:

SELECT Ankete.[Sifra ankete], Ankete.[Sifra agencije], [Iznos]-[Uplata] AS Dug
FROM UkupneUplatePoAnketi RIGHT JOIN Ankete ON UkupneUplatePoAnketi.[Sifra ankete] = Ankete.[Sifra ankete];


Problem jeste u tome sto su neka polja NULL u koloni Uplata...
Ali, gde da ubacim IFF ?

P.S Da stojim iza te recenice (za moj primer), ali to nema veze sa prethodnim.
Ovu su uplate koje agencija vrsi na racun supervizora, ne anketara, ako si iz tog razloga pitao?
A, ako je nesto drugo, primam savete......

Pozdrav
Re: Da li se ovo moze resiti upitom? 06.08.2006. u 21:25 · pre 246 meseci #4
Code:

SELECT Ankete.[Sifra ankete], Ankete.[Sifra agencije], IIF(ISNULL(Iznos), 0, Iznos)-Uplata AS Dug
FROM UkupneUplatePoAnketi RIGHT JOIN Ankete ON UkupneUplatePoAnketi.[Sifra ankete] = Ankete.[Sifra ankete];


Bilo je vec dosta topika na ovu temu, u svakom slucaju kada imas aritmeticke izraze u kojima neki od clanova moze biti Null moras obezbediti 0 na gore opisan nacin. Za MS SQL Server koristi ISNULL(Iznos, 0), a za ostale DBMS ne znam.
Vidim da napredujes, ali brze ce ti ici ako prestanes da koristis u Access-u Design View pri kreiranju SQL upita, vec pocni da koristis SQL View (Kako znam da koristis? Vidi se po RIGHT JOIN da si ga vizuelno sastavila). Ako ces ovim da se zanimas u buducnosti, trebalo bi kucanje SQL izraza da ti bude "pod prstima" - koristenjem vizuelnih dizajnera neces puno nauciti.
Re: Da li se ovo moze resiti upitom? 06.08.2006. u 22:28 · pre 246 meseci #5
Hvala, Gorane!

To mi je trebalo.Sad je sve kao sto sam htela!

U pravu si. Problem je sto sam prvo ucila sintaksu SQL-a pod Oraclom, pa kad sam pocela Access vidim da se razlikuju, na primer pre sam za spoljasnje spajanje koristila "+", a sad to ne vazi!. Posle sam malo radila SQL Server za diplomski, pa opet nesto novo...sad se opet vracam Accessu, ali tesko mi ide sa ovim promenama...
Mada mi je mnogo lakse da otkucam upit u SQL View nego da koristim Design View, ali skoro uvek mi se potkrade sintaksna greska.
Koliko treba jednom pocetniku da se uhoda u sve ovo?!


Pozdrav!
Re: Da li se ovo moze resiti upitom? 06.08.2006. u 23:02 · pre 246 meseci #6
Citat:
tanjakg81: Ovu su uplate koje agencija vrsi na racun supervizora, ne anketara, ako si iz tog razloga pitao?

Onda nista
Potpis
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming."
- Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo
Re: Da li se ovo moze resiti upitom? 06.08.2006. u 23:59 · pre 246 meseci #7
Citat:

Mada mi je mnogo lakse da otkucam upit u SQL View nego da koristim Design View, ali skoro uvek mi se potkrade sintaksna greska.
Koliko treba jednom pocetniku da se uhoda u sve ovo?!


Mislim da vise nisi pocetnik ;) Svakom se manje - vise potkradaju sintaksne greske. Samo napred!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme