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

Pomoc oko spajanja dve baze.

[es] :: Baze podataka :: Pomoc oko spajanja dve baze.

Strane: 1 2

[ Pregleda: 5657 | Odgovora: 25 ] > 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 Pomoc oko spajanja dve baze.06.06.2006. u 07:40 - pre 217 meseci
Iako radim u delphiju na istom forumu uputili su me da i ovde napravim identicnu temu.


Naime 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

broker

Član broj: 2415
Poruke: 8514
212.62.59.*



+11 Profil

icon Re: Pomoc oko spajanja dve baze.06.06.2006. u 08:53 - pre 217 meseci
Da li ti je SQL na raspolaganju. Ovo sto ti treba je pocetnicka stvar, i objasnjenje pise verovatno medju prvim stranama svakog uputstva za SQL. Ako to ne znas, znaci da nisi citao nista o SQL-u, a red bi bio da procitas.

Ako nemas SQL, onda u Delphiju mozes da iskoristis Lookup i Calculated polja u TTable da povezes tabele. Pogledaj u Help.
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Pomoc oko spajanja dve baze.06.06.2006. u 11:22 - pre 217 meseci
S obzirom da nisi bas precizno postavio problem, a nisi naveo koja je baza u pitanju (DBMS), dacu ti resenje koje radi na MS SQL-u ili Access-u - onako kako sam shvatio.

Code:

SELECT Naziv, SUM(Kolicina1) - SUM(Kolicina2) AS Kolicina 
FROM 
(SELECT Naziv1 AS Naziv, Kolicina1, 0 AS Kolicina2 FROM Tabela1
UNION ALL
SELECT Naziv2 AS Naziv, 0 AS Kolicina1, Kolicina2 FROM Tabela2) AS Unija
GROUP BY Naziv
 
Odgovor na temu

Zed Mc Jack
Programer
Bečej

Član broj: 93120
Poruke: 137
*.adanet.co.yu.

Sajt: www.subakov.com


Profil

icon Re: Pomoc oko spajanja dve baze.06.06.2006. u 11:45 - pre 217 meseci
hmm, nisi baš najbolje objasnio ali izgleda da si ti opisao tvoje podatke u tabeli1 i tabeli2. Ako je to tačno, onda bi SQL (u Visual FoxPro-u, a verujem i u ostalim DB alatima) izgledao otprilike ovako.

SELECT Tabela1.ime_polja1 AS naziv, SUM(Tabela1.ime_polja2-Tabela2.ime_polja2) AS ukupno FROM Tabela1, Tabela2 GROUP BY Tabela1.ime_polja1

gde su naravno ime_polja1 i ime_polja2 odgovarajuća imena polja ili kolona u tvojim tabelama.

E sad...ovaj upit bi filtrirao podatke tako da bi u krajnji rezultat ušli samo elementi koji se pojavljuju u obe tabele, npr kao kod tebe Naziv1, Naziv2 itd. Međutim ako bi u prvoj tabeli imao elemente Naziv_1, a u drugoj N_aziv1, oni se ne bi pojavili u rezultujućem kursoru.
Rešenje je opet u zavisnosti od toga šta hoćeš da uradiš LEFT, RIGHT ili FULL JOIN

Pozdrav
www.subakov.com Jedini Visual FoxPro sajt u Srbiji
 
Odgovor na temu

codeb.s

Član broj: 67549
Poruke: 157
87.250.102.*



+1 Profil

icon Re: Pomoc oko spajanja dve baze.06.06.2006. u 11:52 - pre 217 meseci
Ma u pravu ste nista nisam napisao . Koristim DBISAM DBEngine za Delphi (kompletna zamjena za Borland BDE ) . Trebam postaviti SQL za Query kako bi brze dosao do stanja artikala na skladistu ulaz - izlaz.Probao sam , nesto slicno tacnije navedeni kod:

Code:

Select queryx.* from
(Select table1.Naziv, table1.Kolicina from table1
  union
  Select table2.Naziv, table2.Kolicina from table2) as queryx

I nije islo pa sam probao

Code:

Select Naziv, sum(kolicina) from
(Select table1.Naziv, table1.Kolicina from table1
  union
  Select table2.Naziv, table2.Kolicina from table2) 
Group by Naziv


i naravno nije islo. Rezultat jedino dobijem sa ovim kodom, ali takve podatke dalje nemogu upotrebiti( bar da je jos

Code:

Select table1.Naziv, table1.Kolicina from table1
  union
  Select table2.Naziv, table2.Kolicina from table2





Imam neke sto scripte sto ebook izdanja , mastering ovo-ono ali sve sto sam pokusao na ovaj nacin ne ide.Ok je to za programski nacin povezivanja tabela ali trebam samo pregled. Naci dio iz ulaz tabele - dio iz izlaz da bi dobio stanje.

Pomozite...


[Ovu poruku je menjao codeb.s dana 06.06.2006. u 13:04 GMT+1]
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
212.62.59.*



+11 Profil

icon Re: Pomoc oko spajanja dve baze.06.06.2006. u 12:20 - pre 217 meseci
A ono sto goranvuc napisa ne radi? Moguce je da DBISAm ne podrzava ugnjezdene upite, pa moras razdvojiti na dva, prvo uradis uniju a onda select group by koji izracuna razliku.
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.it-austria.net.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: Pomoc oko spajanja dve baze.06.06.2006. u 15:26 - pre 217 meseci
Code:
SELECT t1.Naziv1, ABS(t1.kolicina1 - t2.kolicina2) AS kolicina
FROM Tabela1 t1, Tabela2 t2
WHERE t1.Naziv1 = t2.Naziv2;

Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.it-austria.net.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: Pomoc oko spajanja dve baze.06.06.2006. u 15:29 - pre 217 meseci
Ako imas vise istoimenih naziva, onda ih moras gupisati... Da ti napisem query i za to ili ces moci i sam?
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Pomoc oko spajanja dve baze.06.06.2006. u 16:03 - pre 217 meseci
Dejane, sve je to super, ali sta cemo sa nazivima cija je pojava samo u jednoj tabeli? Takodje, na ovaj nacin ce resultset sadrzati vise pojava istog naziva. Koliko se "razumem u politiku" njemu treba za nazive (koji se pojavljuju u prvoj tabeli, drugoj ili obe) dati ukupan saldo.
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+711 Profil

icon Re: Pomoc oko spajanja dve baze.06.06.2006. u 16:09 - pre 217 meseci
Biće da je rešenje OUTER JOIN sa GROUP BY
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Pomoc oko spajanja dve baze.06.06.2006. u 16:30 - pre 217 meseci
Ako se dublje udubite u problematiku, shvaticete da problemi kod kojih je potrebno da se dva polja iz dve razlicite tabele preslikaju u jedno polje u resultset-u moraju ukljuciti uniju kao resenje problema - dakle, ja ne verujem da tu pomaze bilo kakav join jer treba da dobijemo:

pera, 55
mika, -45
jovan, 100

gde je pera iz prve tabele, mika iz druge, a jovan je u obe tabele.
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.it-austria.net.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: Pomoc oko spajanja dve baze.06.06.2006. u 17:02 - pre 217 meseci
Citat:
goranvuc: Dejane, sve je to super, ali sta cemo sa nazivima cija je pojava samo u jednoj tabeli? Takodje, na ovaj nacin ce resultset sadrzati vise pojava istog naziva. Koliko se "razumem u politiku" njemu treba za nazive (koji se pojavljuju u prvoj tabeli, drugoj ili obe) dati ukupan saldo.
Ja sam napisao rjesenje gledajuci njegovu strukturu podataka. Dublje u problematiku nisam ulazio, niti imam vremena da nagadjam kako je autor teme zamislio strukturu podataka.

Naravno da ima tu i potpitanja "a sta ako...", pa kad budu navedeni, dacu rjesenje i za njih, ukoliko neko prije mene to vec ne uradi...
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

codeb.s

Član broj: 67549
Poruke: 157
87.250.102.*



+1 Profil

icon Re: Pomoc oko spajanja dve baze.06.06.2006. u 17:33 - pre 217 meseci
I jedni i drugi su u pravu. Ipak probacu jednostavnije. Imam Tabelu ArtikliUlaz sa nrp. Artiklom1 koji je usao u skladiste recimo 3 kom, imam Artikla2 koji je usao recimo 2 kom i imam Artikal3 koji je usao 1 kom.Onda je ponovo (recimo drugi dan), Artikal2 usao 3 kom, Artikal1 2 kom Znaci tabela izgleda nesto kao:
ULAZ
Artikal Kolicina
===== ==========
Artikal1 3
Artikal2 2
Artikal3 3
Artikal2 3
Artikal1 2

Tako nesto imam i na izlazu:
IZLAZ
Artikal Kolicina
===== ==========
Artikal1 1
Artikal2 2
Artikal3 2
Artikal2 1
Artikal3 1

Sada hocu da grupisam sve i iz ULAZ i iz IZLAZ i da dobijem rezultat tj da dobijem:

REZULTAT
Artikal Kolicina
===== ==========
Artikal1 4
Artikal2 2
Artikal3 0


Molim pomoc
 
Odgovor na temu

Zed Mc Jack
Programer
Bečej

Član broj: 93120
Poruke: 137
*.dialup.sezampro.yu.

Sajt: www.subakov.com


Profil

icon Re: Pomoc oko spajanja dve baze.06.06.2006. u 18:10 - pre 217 meseci
Sa union SQL-om ćeš dobiti sve transakcije(promene) koje su se desile za sve artikle u obe tabele, a sa GRUOP BY ćeš ih sabrati. Ako to ne radi u jednom selektu(a trebalo bi), onda razdvoj na dva kao što reče Broker.
www.subakov.com Jedini Visual FoxPro sajt u Srbiji
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Pomoc oko spajanja dve baze.06.06.2006. u 18:50 - pre 217 meseci
Citat:
codeb.s: I jedni i drugi su u pravu. Ipak probacu jednostavnije. Imam Tabelu ArtikliUlaz sa nrp. Artiklom1 koji je usao u skladiste recimo 3 kom, imam Artikla2 koji je usao recimo 2 kom i imam Artikal3 koji je usao 1 kom.Onda je ponovo (recimo drugi dan), Artikal2 usao 3 kom, Artikal1 2 kom Znaci tabela izgleda nesto kao:
ULAZ
Artikal Kolicina
===== ==========
Artikal1 3
Artikal2 2
Artikal3 3
Artikal2 3
Artikal1 2

Tako nesto imam i na izlazu:
IZLAZ
Artikal Kolicina
===== ==========
Artikal1 1
Artikal2 2
Artikal3 2
Artikal2 1
Artikal3 1

Sada hocu da grupisam sve i iz ULAZ i iz IZLAZ i da dobijem rezultat tj da dobijem:

REZULTAT
Artikal Kolicina
===== ==========
Artikal1 4
Artikal2 2
Artikal3 0


Molim pomoc


Dakle, sve sam ti rekao, broker ti je dodatno pomogao, a ako ga nisi razumeo treba da napravis View u tvojoj bazi i onda da na tom View-u kao tabeli uradis GROUP BY, tj. ono sto sam ti ja napisao u jednom SQL izrazu treba da rastavis na SELECT iz unije koja je sacuvana u bazi kao View (ako je to u tvom slucaju moguce).

Pozdrav, i probaj da nas postedis detektivskog posla u buducnosti i problem predstavis sa svim neophodnim informacijama - nemoj nista da podrazumevas, ovo je generalni forum "Baze podataka".
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Pomoc oko spajanja dve baze.06.06.2006. u 19:43 - pre 217 meseci
Malo sam se informisao oko tvog DBISAM-a za DELPHI 7.0 i mogu ti reci da se nisi usrecio - ne podrzava upite koji referenciraju druge upite, tj. vrlo malo imas prostora da problem resis preko jednog SQL upita. Kako sam video iz njihove dokumentacije, mogao bi da za deo upita koji se odnosi na UNION odradis SELECT INTO u privremenu tabelu, pa da onda za nju odradis GROUP BY upit kojim bi dobio zeljeni rezultat.
Za ozbiljniju problematiku preporucujem ti neki DBMS koji ima mocniji DML od ovog kojeg trenutno koristis.

[Ovu poruku je menjao goranvuc dana 06.06.2006. u 23:23 GMT+1]
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
212.62.59.*



+11 Profil

icon Re: Pomoc oko spajanja dve baze.06.06.2006. u 22:22 - pre 217 meseci
Sumnjam d amu treba nesto ozbilnjije, sudeci po tome da cak nema ni ID_ARTIKLA u tabelama.

:)
 
Odgovor na temu

codeb.s

Član broj: 67549
Poruke: 157
87.250.102.*



+1 Profil

icon Re: Pomoc oko spajanja dve baze.07.06.2006. u 15:44 - pre 217 meseci
Ok hvala. Probacu da se prebacim na FIB ili IB izgleda da sa ovim necu nista uspjeti.
Sto se tice Artikla_ID , tabele koje sam postavio kao primjer imaju i primarni i dva sekundarna kljuca , i posjeduje polje Artikal_ID koje se u mom slucaju zove Sifra_Artikla.

Puno hvala oko pomoci!!!
 
Odgovor na temu

dragancesu
subotica

Član broj: 38340
Poruke: 2189
*.eunet.yu.



+73 Profil

icon Re: Pomoc oko spajanja dve baze.11.06.2006. u 21:15 - pre 217 meseci
Ne znam sta je u pitanju, neki zadatak ili posao u firmi, ali struktura

Citat:
ULAZ
Artikal Kolicina
===== ==========
Artikal1 3
Artikal2 2
Artikal3 3
Artikal2 3
Artikal1 2

IZLAZ
Artikal Kolicina
===== ==========
Artikal1 1
Artikal2 2
Artikal3 2
Artikal2 1
Artikal3 1


nije bas najsrecnije resenje. Deluje kao robno. Imam osecaj da prelazis na nekog starijeg sistem na delfi, tj "prepisujes" staru aplikaciju na windows. I sada bi da koristis bazu. Znaj da svaka baza racionalnije koristi prostor nego to sto si do sada radio. Zato lepo napravi strukturu

KARTICE (PROMET)
===========
Artikal
Kolicina_ulaza
Kolicina_izlaza
...
i ostalo kao datum, dokument, ...

pa ces sa jednim

select distinct artikal, sum(kolicina_ulaza - kolicina_izlaza) from kartice

dobiti lager u jednom potezu. Ili jos jednostavnije ako napravis VIEW.



Pomozite Micro$oftu u borbi protiv piraterije, poklonite prijatelju Linux
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Pomoc oko spajanja dve baze.11.06.2006. u 22:26 - pre 217 meseci
Citat:
dragancesu: Ne znam sta je u pitanju, neki zadatak ili posao u firmi, ali struktura



nije bas najsrecnije resenje


Pa, oko ovoga bi mogla da se rasplamsa zesca debata :) Ovo je, koliko ja znam, cesce resenje - svaki tip poslovnog dokumenta ima svoje odgovarajuce tabele (najcesce tipa master-detail), a ono sto ti predlazes je "clipperasko" resenje. Njegovo resenje uvek moze da se svede (preko union view-ova, stored procedura) na resenje gde je kompletan promet u jednoj tabeli, a obrnuto MALO TEZE.

Citat:
dragancesu: pa ces sa jednim

select distinct artikal, sum(kolicina_ulaza - kolicina_izlaza) from kartice

dobiti lager u jednom potezu.


Pa ne bas sa DISTINCT, pre sa GROUP BY, zar ne?
 
Odgovor na temu

[es] :: Baze podataka :: Pomoc oko spajanja dve baze.

Strane: 1 2

[ Pregleda: 5657 | Odgovora: 25 ] > FB > Twit

Postavi temu Odgovori

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