Novo

Forum kao aplikacija na telefonu

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

  • 6 odgovora
  • 2.180 pregleda

Najnovija ↓

pogresan upit = kartezian ukrštanje podataka 10.06.2011. u 12:09 · pre 187 meseci
izmenjeno 1 put, poslednji put stefann127 10.06.2011. u 12:33
  1. stefann12710.06.2011. u 12:33zapis iz teksta poruke
#1
Poštovani forumaši,

naišao sam na problem relacija i prikaza u upitu.

Imam sledeće tabele:

skola T1: ID_SKOLA,NAZIV_SKOLA,VRSTA_SKOLA(combo)ADRESA, OPSTINA(combo),
nastavno T2 : ID_SKOLA(combo T1), OPIS_POSAO(combo T3),KOEF(comboT3), BROJNAS,
vrsta posla T3: ID_POSLA,SSS(combo), OPIS_POSAO,KOEF
vannastavno T4: ID_SKOLA(combo T1), OPIS_POSAO(combo T3),KOEF(comboT3), BROJVANNAS

Napravio sam upit QNAST sa podacima iz tabela T1, T2 i T3 i izrazom EXPNAS (množenje KOEF*BROJNAS)
i upit QVANNAS sa podacima iz T1, T2 i T3 i izrazom EXPVANNAS (množenje KOEF*BROJVANNAS).

U jednom izveštaju trebam da navedem i podatke i QNAS i QVANNAS, ali mi kartezijan ukrštanje podataka zbog neispravnih veza pokazuje uvećan i nesvrsishodan broj zapisa u izveštaju, dok je sumaran broj EXPNAS i EXPVANNAS u izveštaju ispravan. Mislim da je u pitanju referenciranje odnosa tabela?#

Može li mi neko pomoći da kreiram ispravan upit na osnovu koga bi napravio RPT sa SUM i ispravnim prikazom vrednosti EXPNAS i EXPVANNAS.

Baza nije pogodna za slanje zbog veličine, mogu poslati Print Scr table relations

Hvala unapred forumaši.

PS. Evo prilažem i SQL upita u kome nema nijednog prikaza, ali sam želeo obuhvatiti i nastavno i vannastavno

SELECT tbl_skole_SS.NAZIV_SKOLE, tbl_vrsta_posla.OPIS_POSAO, tbl_vrsta_posla.KOEF, tbl_nastavno.BROJ_NASTAVNO, tbl_nastavno.BROJ_RADNIKA_NAST, tbl_vannastavno.BROJ_VANNASTAVNO, tbl_vannastavno.BROJ_RADNIKA_VANNAS, tbl_vannastavno.KOEF_VANNASTAVNO
FROM (tbl_skole_SS INNER JOIN (tbl_vrsta_posla INNER JOIN tbl_nastavno ON (tbl_vrsta_posla.OPIS_POSAO = tbl_nastavno.OPIS_POSAO) AND (tbl_vrsta_posla.KOEF = tbl_nastavno.KOEF_NASTAVNO)) ON tbl_skole_SS.NAZIV_SKOLE = tbl_nastavno.ID_SKOLE) INNER JOIN tbl_vannastavno ON (tbl_vrsta_posla.OPIS_POSAO = tbl_vannastavno.OPIS_POSAO) AND (tbl_skole_SS.NAZIV_SKOLE = tbl_vannastavno.ID_SKOLE);
Re: pogresan upit = kartezian ukrštanje podataka 10.06.2011. u 20:54 · pre 187 meseci #3
Hvala ti Getsbi, evo šaljem .zip dela baze kod koga sam zastao.
Ponovio bih da mi je potreban rpt u kome će stajati podaci o školi iz tbl_vrsta_skole, podaci o broju nastavnika, broju radnika, koef i broju obračunskih za nastavno i za vannastavno, iz upita qry_nastavno i qry_vannastavno i sumarno broj obračunskih nastavno i vannastavno.
Imam tu još neke izraze izveštaj o prosečnom minulom radu i procentu u izveštaju, koji su povezani sa onim koje sam naveo.

Hvala unapred
Re: pogresan upit = kartezian ukrštanje podataka 11.06.2011. u 07:58 · pre 187 meseci
izmenjeno 1 put, poslednji put Getsbi 11.06.2011. u 08:59
  1. Getsbi11.06.2011. u 08:59zapis iz teksta poruke
#4
Za početak nemoj da pišeš nazive polja sa razmacima čak ni u upitima:
BROJ OBRACUNSKIH RADNIKA
već
BROJ_OBRACUNSKIH_RADNIKA ili BrojObracunskihRadnika
Potom napravi Union query onako kako sam ja otprilike na brzinu napisao u upitu qry_Union

Kasnije union query uzmi kao izvor za izveštaj i tamo napravi sumiranja.

Kratak sam sa vremenom ali vidi i dopuni ovo.
Potpis
https://mzahorjanski.wixsite.com/mzahorjanski
https://www.fiverr.com/miroljubzahorja?up_rollout=true
https://www.youtube.com/@miroljubzahorjanski


Re: pogresan upit = kartezian ukrštanje podataka 11.06.2011. u 19:44 · pre 187 meseci #5
Getsbi,

nisam mogao da uočim da sam navodio nazive polja sa Space, ali prihvatam za ubuduće.

U qry_union mi trebaju svi podaci iz qry_nastavno i qry_vannastavno složeni.

Pokušao sam sa sql
***************************************
SELECT Naziv_Skole, Opis_posao, Broj_nastavno, Broj_radnika_nast, Koef, Broj_obracunskih_radnika
From qry_nastavno
UNION SELECT
Naziv_Skole, Opis_posao, Broj_vannastavno, Broj_radnika_vannas, Koef, Broj_obracunskih_radnika
FROM qry_vannastavno
ORDER BY Naziv_Skole;
***************************************
i dobio sam parametarski upit za OPIS_POSAO i samo podatke za nastavno, dok za vannastavno sql upit ne prikazuje, jer su OPIS_POSAO i KOEF izvorno u tbl_vrsta_posla.
Takođe te molim da mi napišeš da li se Properties za željena polja Format i decimal place kao Standard i 2 decimale podešavaju tek u izveštaju ili na drugi način?
Dakle, molim te za razumevanje, potreban mi je union qry_nastavno i qry_vannastavno ali sa svim podacima u prikazu.

Hvala veliko.
Re: pogresan upit = kartezian ukrštanje podataka 12.06.2011. u 08:08 · pre 187 meseci #6
1. Format polja se podešava u tabelama još prilikom njihovih kreiranja. Kasnije podešavaš izaz koji ti odgovara u formama i izveštajima.

2. Polja sa Space su bila u tvojim upitima u fajlu SS obracun.mdb

qry_nastavno:
BROJ OBRACUNSKIH RADNIKA: tbl_nastavno!BROJ_NASTAVNO*tbl_vrsta_posla!KOEF
qry_vannastavno:
BROJ OBRACUNSKIH RADNIKABROJ OBRACUNSKIH RADNIKA: tbl_vannastavno!BROJ_VANNASTAVNO*tbl_vrsta_posla!KOEF

To kasnije pravi problema prilikom dalje upotrebe, kao što je ovde slučaj.

3. Juče sam na brzinu napisao Union qery zbog manjka vremena. Moja greška je što sam u tvojim upitima zadržao nepotrebne tabele. Evo ti sad svi podaci. Ako ti prilikom primene ne daje sve rezultate ubaci između UNION i SELECT klaulzulu ALL. Dakle UNION ALL SELECT koji spaja zapise po uparenoj koloni i zadržava duplirane redove.


Komentar:
Model je nasleđeni sistem, što se vidi po nazivima tabela i vezama koje su karakteristične za dbase alate gde se koristi SET RELATION TO ……. INTO ……

Primarni klučevi bi trebalo da su ID (Long Integer ili Integer , a ne text). „Spuštanje“ ključeva je onda jednostavnije i model čitljiviji. Ima nekontrolisane redundance ( KOEF_VANNASTAVNO….).

Trebalo bi prepraviti ceo model, ali za to baš nemem vremena, a ni poterbnih informacija.

Potpis
https://mzahorjanski.wixsite.com/mzahorjanski
https://www.fiverr.com/miroljubzahorja?up_rollout=true
https://www.youtube.com/@miroljubzahorjanski


Re: pogresan upit = kartezian ukrštanje podataka 12.06.2011. u 18:52 · pre 187 meseci #7
Getsbi,
naprosto nisam primetio u Exp nazive polja, mada sam se trudio da u nazivima koristim _, ali promaklo mi.
U svakom slucaju hvala ti puno.
Ako ti bude zatrebalo nesto u Ministarstvu prosvete, javi se.
poz
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme