Novo

Forum kao aplikacija na telefonu

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

  • 3 odgovora
  • 3.017 pregleda

Najnovija ↓

UNION upit ne vraca sve kolone 24.09.2012. u 12:59 · pre 171 mesec #1
imam dva upita koja mi izdvajaju slicne drzave (u ovom slucaju sa Srbijom). U prvom upitu se vrsi uporedjenje ukljucujuci prostor Kosova i Metohije a u drugom ne ukljucujuci isti. Poredjenje se vrsi na osnovu slicnosti povrsine teritorije i broja stanovnika. Oba upita rade bey problema i sledeceg su oblika>
PRVI UPIT>
SELECT Države.[Država ID], Države.Površina, Države.[Broj stanovnika], Države.[Sistem kolektivne odbrane], Države.[Aktivni sastav- brojno stanje], [Broj vojnika na km2].[Broj vojnika na km2], Države.[% BDP], Države.[Troškovi odbrane], [Troškovi odbrane].[Troskovi od u int $], [Opterećenje populacije].[Opterećenje populacije], [Izdaci po vojniku].[Izdaci po vojniku u $], [Izdaci po vojniku].[Izdaci po vojniku u int $], [Izdaci po stanovniku].[Izdaci po stanovniku u $], [Izdaci po stanovniku].[Izdaci po stanvoniku u int $], [Struktura troškova].[Personalni troškovi (%)], [Struktura troškova].[Operativni troškovi (%)], [Struktura troškova].[Investicije (%)], [Struktura troškova].[Razlika presonalni], [Struktura troškova].[Razlika operativni], [Struktura troškova].[Razlika investicije]
FROM Države, [Izdaci po vojniku], [Izdaci po stanovniku], [Opterećenje populacije], [Troškovi odbrane], [Srbija bez KiM], [Srbija bez KiM od 10 do 10], [Struktura troškova], [Broj vojnika na km2]
WHERE (((Države.[Država ID]) Not Like "Republika Srbija (sa KiM)" And (Države.[Država ID]) Not Like "Republika Srbija (bez KiM)") AND (((Države.[Broj stanovnika])>[Srbija bez KiM od 10 do 10]![S manje] And (Države.[Broj stanovnika])<[Srbija bez KiM od 10 do 10]![S više]) OR ((Države.Površina)>[Srbija bez KiM od 10 do 10]![P manje] And (Države.Površina)<[Srbija bez KiM od 10 do 10]![P više])) AND (([Troškovi odbrane].[Država ID])=[Države].[Država ID]) AND (([Opterećenje populacije].[Država ID])=[Države].[Država ID]) AND (([Izdaci po stanovniku].[Država ID])=[Države].[Država ID]) AND (([Izdaci po vojniku].[Država ID])=[Države].[Država ID]) AND (([Struktura troškova].[Država ID])=[Države].[Država ID]) AND (([Broj vojnika na km2].[Država ID])=[Države].[Država ID]));
DRUGI UPIT>
SELECT Države.[Država ID], Države.Površina, Države.[Broj stanovnika], Države.[Sistem kolektivne odbrane], Države.[Aktivni sastav- brojno stanje], [Broj vojnika na km2].[Broj vojnika na km2], Države.[% BDP], Države.[Troškovi odbrane], [Troškovi odbrane].[Troskovi od u int $], [Opterećenje populacije].[Opterećenje populacije], [Izdaci po vojniku].[Izdaci po vojniku u $], [Izdaci po vojniku].[Izdaci po vojniku u int $], [Izdaci po stanovniku].[Izdaci po stanovniku u $], [Izdaci po stanovniku].[Izdaci po stanvoniku u int $], [Struktura troškova].[Personalni troškovi (%)], [Struktura troškova].[Operativni troškovi (%)], [Struktura troškova].[Investicije (%)], [Struktura troškova].[Razlika presonalni], [Struktura troškova].[Razlika operativni], [Struktura troškova].[Razlika investicije]
FROM Države, [Izdaci po vojniku], [Izdaci po stanovniku], [Opterećenje populacije], [Troškovi odbrane], [Srbija sa KiM], [Srbija sa KiM od 10 do 10], [Struktura troškova], [Broj vojnika na km2]
WHERE (((Države.[Država ID]) Not Like "Republika Srbija (sa KiM)" And (Države.[Država ID]) Not Like "Republika Srbija (bez KiM)") AND (((Države.[Broj stanovnika])>[Srbija sa KiM od 10 do 10]![S manje] And (Države.[Broj stanovnika])<[Srbija sa KiM od 10 do 10]![S više]) OR ((Države.Površina)>[Srbija sa KiM od 10 do 10]![P manje] And (Države.Površina)<[Srbija sa KiM od 10 do 10]![P više])) AND (([Troškovi odbrane].[Država ID])=[Države].[Država ID]) AND (([Opterećenje populacije].[Država ID])=[Države].[Država ID]) AND (([Izdaci po stanovniku].[Država ID])=[Države].[Država ID]) AND (([Izdaci po vojniku].[Država ID])=[Države].[Država ID]) AND (([Struktura troškova].[Država ID])=[Države].[Država ID]) AND (([Broj vojnika na km2].[Država ID])=[Države].[Država ID]));

Me]utim potreban mi je i upit koji ce da sjedini ova dva i da prikaze sve yemlje koje su slicne bez obzira da li se racuna prostor KiM ili ne. Posto ovi upiti imaju isti broj kolona, iste tipove kao i iste nayive... primenio sam funkciju UNION, te upit izgldea ovako>

SELECT * FROM [Karakteristične države (bez KiM)]
UNION SELECT * FROM [Karakteristične države (sa KiM)]
Medjutima reyultat se dobije dobar za sve kolone osim ya kolone> Troskovi odbrane, Opterecenje populacije i Broj vojnika na KM2... ove kolone ostaju prazne a u nayivu kolone stoji >
[Karakteristične države (bez KiM)].Troškovi odbrane.Troškovi odbrane... i dalje redom isto?

Ima li neko resenje ya moj problem.. bio bih veoma zahvalan.
Unapred hvala
Re: UNION upit ne vraca sve kolone 24.09.2012. u 15:24 · pre 171 mesec #2
Probaj da iza UNION staviš opciju ALL. Ako se koristi ( All ), tada daje sve slogove, bez njega radi Group by po svim poljima.
Podrazumevano stanje UNION upita je da eliminiše duplirane zapise iz rezultata upita unije.
Potpis
https://mzahorjanski.wixsite.com/mzahorjanski
https://www.fiverr.com/miroljubzahorja?up_rollout=true
https://www.youtube.com/@miroljubzahorjanski


Re: UNION upit ne vraca sve kolone 24.09.2012. u 17:24 · pre 171 mesec #3
ne odgovara mi union all jel on vraca duple zapise... posto ima deo rezultata dve tabele koji su istovetni... tako da meni odgovara da eliminise duple i da ujedini tabelu ali sa svim kolonama..
Re: UNION upit ne vraca sve kolone 24.09.2012. u 19:11 · pre 171 mesec #4
UNION ALL spaja zapise po uparenoj koloni i zadržava duplirane redove.
Code:
SELECT [Prezime] FROM FizickoLice
UNION ALL SELECT  [NazivPravnogLica] FROM PravnoLice
ORDER BY [Prezime];                  

Običan UNION query spaja zapise po uparenim kolonama i po defaultu eliminiše duplirane zapise.
Code:
SELECT [FizickoLiceID],[Prezime],[JMBG] 
FROM FizickoLice
UNION SELECT [PravnoLiceID], [NazivPravnogLica],      [Pib] FROM PravnoLice
ORDER BY [FizickoLiceID];       

Obrati pažnju da li su ti kolone uparene, odnosno da li je redosled takav da se "gađaju" prava sa pravom.
Dakle gađaju se FizickoLiceID i PravnoLiceID, potom Prezime i NazivPravnogLica i na kraju JMBG i Pib.

Savet: Probaj da napišeš novi UNION SELECT tako da navodiš tabele bez SELECT *.
Potpis
https://mzahorjanski.wixsite.com/mzahorjanski
https://www.fiverr.com/miroljubzahorja?up_rollout=true
https://www.youtube.com/@miroljubzahorjanski


Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme