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

Spajanje dve tabele ???

[es] :: Pascal / Delphi / Kylix :: Spajanje dve tabele ???

[ Pregleda: 4315 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

codeb.s

Član broj: 67549
Poruke: 157
87.250.102.*



+1 Profil

icon Spajanje dve tabele ???01.06.2006. u 17:52 - pre 217 meseci
Ovako, imam problem oko spajanje dve tabele u jednu .Zadatak izgleda ovako:

Rec je o ulazu i izlazu artikala.Trebam pregled kolicina ulaza i izlaz artikala u nekom vremenu. Sto znaci iz obe tabele polja koja mi trebaju u vremenskom periodu.
Imamo tabelu1 sa nekih x polja od kojih su vazna npr DATUM,NAZIV,CIJENA,KOLICINA.... (sto je izlaz)
Imamo tabelu2 sa nekih x polja od kojih su vazna DATUM , NAZIV,KOLICINA (sto je ulaz )
Prvi problem je sto postoji mogucnost da se neki od naziva nalazi u tabeli1 ali ne i u tabeli2 i obratno

Molim pomoc
 
Odgovor na temu

Trodmi

Član broj: 58036
Poruke: 193
*.dialup.neobee.net.



Profil

icon Re: Spajanje dve tabele ???01.06.2006. u 18:57 - pre 217 meseci
Da li je u pitanju srednjoskolski zadatak?
 
Odgovor na temu

marcha
Nikola Marcic
Beograd/Leskovac

Član broj: 6454
Poruke: 108
*.140.eunet.yu.

ICQ: 156892888


+1 Profil

icon Re: Spajanje dve tabele ???01.06.2006. u 22:52 - pre 217 meseci
Posto nisi naveo da imas neki kljuc po tabelama moguce je pravljenje unije tih dveju tabela.
Code:

FB/IB  SQL
select 'izlaz' as SMER,t1.datum, t1.naziv, t1.cijena, t1.kolicina
from tabela1 t1
where t1.datum between :datum_od and :datum_do
union
select 'ulaz ', t2.datum, t2.naziv, t2.cijena, t2.kolicina
from tabela2 t2
where t2.datum between :datum_od and :datum_do

Marcha
-----------------------------------
Pretpostavka je majka zajeba.
 
Odgovor na temu

codeb.s

Član broj: 67549
Poruke: 157
87.250.102.*



+1 Profil

icon Re: Spajanje dve tabele ???02.06.2006. u 08:28 - pre 217 meseci
Ovako,tabele imaju i primarni i sekundarni kljuc , posto su obe i u master/detail sistemu sa drugim tabelama. Inace neradim u IB-u vec u DBISAM-u ali mislim da nebi trebao imati problema. Ok jos jedno pitanje trebao bih dobijeni rezultat grupisati po nazivu artikla. Da li da samo da dodam GROUP BY NAZIV ili ovaj dodatni dio zahtijeva jos koju izmjenu SQL-a.
 
Odgovor na temu

codeb.s

Član broj: 67549
Poruke: 157
87.250.102.*



+1 Profil

icon Re: Spajanje dve tabele ???05.06.2006. u 09:45 - pre 216 meseci
Ok , ali u koliko se radi u recimo tri tabele a jedino zajednicko za sve tri je sifra ili naziv .Ovako znaci prethodni podaci su identicni samo sto sada nemam cijenu niti u jednoj tabeli vec te podatke moram povuci iz trece tabele nrp NAZIVI
I to sastaviti tako da dobijem rezultat"

DatumIzBiranogPerioda Naziv1 KolicinaUkupnoUlaz KolicinaUkupnoIzlaz JedCijena1
DatumIzBiranogPerioda Naziv2 KolicinaUkupnoUlaz KolicinaUkupnoIzlaz JedCijena2
DatumIzBiranogPerioda Naziv3 KolicinaUkupnoUlaz KolicinaUkupnoIzlaz JedCijena3

U nadi da nisam puno zakomplikovao .
Molim pomoc....

 
Odgovor na temu

codeb.s

Član broj: 67549
Poruke: 157
87.250.102.*



+1 Profil

icon Re: Spajanje dve tabele ???05.06.2006. u 15:37 - pre 216 meseci
Samo da napisem da je ponudjeni kod koji sam dobio
Code:

FB/IB  SQL
select 'izlaz' as SMER,t1.datum, t1.naziv, t1.cijena, t1.kolicina
from tabela1 t1
where t1.datum between :datum_od and :datum_do
union
select 'ulaz ', t2.datum, t2.naziv, t2.cijena, t2.kolicina
from tabela2 t2
where t2.datum between :datum_od and :datum_do

sasvim ok ali nije zadovoljio moje potrebe sada dobijem

izlaz Naziv1 kolicina1
izlaz Naziv2 kolicina2
.
.
.
ulaz Naziv1 kolicina1
ulaz Naziv2 kolicina2

Moj posao bi trebao jos da grupiram po nazivu i dodam negativan predznak na kolicinu izlaz tj. da dobijem

Naziv1 kolicina1a
Naziv2 kolicina2a

Gdje je kolicina 1a = ulaz Kolicina1 - izlaz kolicina1

Molim pomoc
 
Odgovor na temu

badam

Član broj: 78553
Poruke: 97
62.108.117.*



+2 Profil

icon Re: Spajanje dve tabele ???05.06.2006. u 16:32 - pre 216 meseci
Prvo, mislim da si promasio forum, bolje bi prosao kod baza podataka. Nigde ne pominjes da koristis pascal ili delphi.


Ako hoces da grupiras po nazivu, moras iz querya da izbacis datum i cenu (ili da grupiras po nazivu i datumu, a cenu da uzimas prosecnu). Ako si mislio da sortiras po nazivu, moja preporuka ti je da napravis stored function oblika:
(probao sam je u mssql, to mi pri ruci, nije problem da se prebaci u bilo sta)

Code:

CREATE FUNCTION Obracun(@Datum_Od DateTime, @Datum_Do DateTime)
RETURNS TABLE
AS
RETURN
  select 'izlaz' as SMER,t1.datum, t1.naziv, t1.cijena, -t1.kolicina as kolicina
  from tabela1 t1
  where t1.datum between @datum_od and @datum_do
  union
  select 'ulaz ' as SMER, t2.datum, t2.naziv, t2.cijena, t2.kolicina as kolicina
  from tabela2 t2
  where t2.datum between @datum_od and @datum_do

pa posle da pozivas funkciju iz sql:
Code:

  select * from Obracun(:Datum_Od, :Datum_Do)
  order by naziv

Pozdrav
 
Odgovor na temu

codeb.s

Član broj: 67549
Poruke: 157
87.250.102.*



+1 Profil

icon Re: Spajanje dve tabele ???06.06.2006. u 07:37 - pre 216 meseci
U startu svima hvala koji mi pokusavaju pomoci.
Badam u pravu si,stvarno sam zaboravio napisati da koristim Delphi 7. Iz tog razloga sam i postavio temu bas na ovom forumu.
Naime mislim da se tema udaljila od onog sto meni treba. Ovako imam dve tabele

Tabela1 sa recimo poljima Naziv1 i kolicina1 koja izgleda:

Naziv1 kolicina1
Naziv2 kolicina2
Naziv3 kolicina3


i Tabela2 sa poljima Naziv2 i kolicina2, koja izgleda

Naziv1 kolicina1
Naziv2 kolicina2
Naziv3 kolicina3

trebam te dve tabele povezati da dobijem
rezultat:

Naziv1 kolicina
Naziv2 kolicina

*gde je kolicina ustvari razlika izmedju dve kolicine. Razliku sam dobio dodavajuci negativnu vrijednost jednoj od kolicina nije bitno kolicini1 ili kolicini2

Molim pomozite....
 
Odgovor na temu

badam

Član broj: 78553
Poruke: 97
62.108.117.*



+2 Profil

icon Re: Spajanje dve tabele ???06.06.2006. u 13:28 - pre 216 meseci
Ipak ti treba grupisanje. Ubaci onu funkciju u bazu i pozivaj je sa:
Code:

select naziv, SUM(Kolicina) 
from Obracun(:Datum_Od, :Datum_Do)
group by naziv


U funkciji je kolicina izlaza definisana kao negativna, pa ces dobiti to sto ti treba.
 
Odgovor na temu

codeb.s

Član broj: 67549
Poruke: 157
87.250.102.*



+1 Profil

icon Re: Spajanje dve tabele ???13.06.2006. u 11:07 - pre 216 meseci
Problem je bio u DBISAM-u , nepodrzava mnogo toga kada je riječ o kompleksnijim SQL upitima, pa sam se sada orijentisao na FB.

Hvala svima na pomoći!
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Spajanje dve tabele ???

[ Pregleda: 4315 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

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