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

Selektiranje podataka iz više tablica sa SUM funkcijom

[es] :: MS SQL :: Selektiranje podataka iz više tablica sa SUM funkcijom

[ Pregleda: 4413 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

gogozec
Goran Zec
BiH Vitez

Član broj: 148730
Poruke: 16
*.team.ba.



Profil

icon Selektiranje podataka iz više tablica sa SUM funkcijom13.03.2014. u 22:35 - pre 123 meseci
Poštovanje,

Može li mi netko pomoći oko ovog zadatka:

Imam 4 tabele, sve imaju zajednički ključ 'Šifra' i 'Naziv' kao i količinu
Trebam izvući sve podatke iz svih polja i sumirati ponaosob svaku šifru.

Primjer:


Šifra, Naziv, T1Količina,T2Količina,T3Količina,T4Količina
1 Art1 10 2 4 5,5
itd.

Kako da izvučem sve podatke iz sve četiri tabele, i da ih sumiram ukoliko se podudare šifre???

Unaprijed Hvala!!!






Zgoran
 
Odgovor na temu

BezPanike

Član broj: 128571
Poruke: 74



+2 Profil

icon Re: Selektiranje podataka iz više tablica sa SUM funkcijom14.03.2014. u 07:03 - pre 123 meseci
Pomoću CTE:
Code:
WITH S AS (
    SELECT Šifra, Naziv, Količina
    FROM T1
    UNION ALL
    SELECT Šifra, Naziv, Količina
    FROM T2
    UNION ALL
    SELECT Šifra, Naziv, Količina
    FROM T3
    UNION ALL
    SELECT Šifra, Naziv, Količina
    FROM T4
)
SELECT Šifra, Naziv, SUM(Količina)
FROM S
GROUP BY Šifra, Naziv
 
Odgovor na temu

gogozec
Goran Zec
BiH Vitez

Član broj: 148730
Poruke: 16
*.team.ba.



Profil

icon Re: Selektiranje podataka iz više tablica sa SUM funkcijom14.03.2014. u 07:59 - pre 123 meseci
Kad ovo unesem na konkretnom primjeru,

WITH S AS (SELECT SifraMat AS Šifra, NazivMat AS naziv, Kolicina
FROM RacuniOpis
UNION ALL
SELECT Sifmat AS Šifra, NazivMat AS Naziv, Kolicina
FROM prijemsmal
UNION ALL
SELECT sifmat AS Šifra, Nazivmat as Naziv, Kolicina
FROM inventsmal)
SELECT Šifra, Naziv, SUM(Kolicina)
FROM S
GROUP BY Šifra, Naziv

Javlja mi 'incorect syntax near keyword 'AS'
Zgoran
 
Odgovor na temu

Dusan Kondic
Programer
ZR "Parametar" Ljubovija
Ljubovija

Član broj: 49961
Poruke: 225
*.adsl-3.sezampro.rs.

Sajt: www.drinacoding.com


+14 Profil

icon Re: Selektiranje podataka iz više tablica sa SUM funkcijom14.03.2014. u 08:05 - pre 123 meseci
Da li ti se red pre WITH-a završava tačkazarezom?
Stavi
Code:
;WITH S AS ...
 
Odgovor na temu

gogozec
Goran Zec
BiH Vitez

Član broj: 148730
Poruke: 16
*.team.ba.



Profil

icon Re: Selektiranje podataka iz više tablica sa SUM funkcijom14.03.2014. u 08:18 - pre 123 meseci
Gledaj,

Iz VB.net-a šaljem upit prema sql-u gdje mi treba povratna informacija o svim količinama.
Tako da mi ne treba ovakav oblik upita, jer mi u svakom slučaju izbaciva grešku.
Zgoran
 
Odgovor na temu

gogozec
Goran Zec
BiH Vitez

Član broj: 148730
Poruke: 16
*.team.ba.



Profil

icon Re: Selektiranje podataka iz više tablica sa SUM funkcijom14.03.2014. u 08:21 - pre 123 meseci
Rezultat bi trebalo da izgleda ovako nenako:
Šifra Naziv Količina1 količina2 količina3
--1---Art1-----10-------20-------30
--2---Art2-----50-------12-------40
itd.


Zgoran
 
Odgovor na temu

BezPanike

Član broj: 128571
Poruke: 74



+2 Profil

icon Re: Selektiranje podataka iz više tablica sa SUM funkcijom14.03.2014. u 12:18 - pre 123 meseci
Daj nam strukturu tabela i šta tačno želiš da dobiješ kao rezultat, ako želiš da ti pomognemo.
Malo je nezgodno pisati upite za "ovako nekako"...
 
Odgovor na temu

gogozec
Goran Zec
BiH Vitez

Član broj: 148730
Poruke: 16
*.team.ba.



Profil

icon Re: Selektiranje podataka iz više tablica sa SUM funkcijom14.03.2014. u 15:01 - pre 123 meseci
Ovo je to što sam zatekao i trebam napraviti stanje iz ove tri tabele, postoji i četvrta koja je identična sa tabelom RacuniOpis samo se zove RacuniOpisSekundarna.
Stanje treba da izgleda kao što sam naveo u prethodnim postovima.
U svakoj od tih tabela zajednički je ŠifraArtikla ali se u RacunimaOpis zove SifraMat a u ostale dvije je SifMat.


if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[RacuniOpis]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[RacuniOpis]
GO

CREATE TABLE [dbo].[RacuniOpis] (
[BrojRac] [int] NULL ,
[SifraMat] [nvarchar] (15) COLLATE Croatian_CI_AS NULL ,
[NazivMat] [nvarchar] (100) COLLATE Croatian_CI_AS NULL ,
[JedMjere] [nvarchar] (5) COLLATE Croatian_CI_AS NULL ,
[Tarifa] [money] NULL ,
[Cijena] [money] NULL ,
[Kolicina] [money] NULL ,
[Iznos] [money] NULL ,
[IznosP] [money] NULL ,
[SifraTarife] [nvarchar] (20) COLLATE Croatian_CI_AS NULL ,
[Datum] [smalldatetime] NULL ,
[IznosPP] [money] NULL ,
[IznosPu] [money] NULL ,
[IznosPDV] [money] NULL ,
[SifraOp] [nvarchar] (15) COLLATE Croatian_CI_AS NULL ,
[Osnovica] [money] NULL ,
[Knizen] [nvarchar] (10) COLLATE Croatian_CI_AS NULL ,
[SifPPU] [nvarchar] (35) COLLATE Croatian_CI_AS NULL ,
[Tarifa2] [money] NULL ,
[Clan] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[Godina] [smallint] NULL ,
[Placanje] [nvarchar] (25) COLLATE Croatian_CI_AS NULL ,
[Nabavna] [money] NULL ,
[OPU] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[Redni] [int] NULL ,
[Grupa] [nvarchar] (15) COLLATE Croatian_CI_AS NULL ,
[BrojSklad] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[Reg] [bit] NULL ,
[Vrijeme] [datetime] NULL ,
[Sank] [nvarchar] (10) COLLATE Croatian_CI_AS NULL ,
[BrojFisk] [int] NULL ,
[FiskGreška] [nvarchar] (5) COLLATE Croatian_CI_AS NULL ,
[TotalFisk] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[Reklamiran] [bit] NULL ,
[SifKom] [nvarchar] (15) COLLATE Croatian_CI_AS NULL ,
[Fiskaliziran] [bit] NULL ,
[Opis] [nvarchar] (25) COLLATE Croatian_CI_AS NULL ,
[FiskNaziv] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[PLU] [nvarchar] (15) COLLATE Croatian_CI_AS NULL ,
[CijenaBezPDV] [money] NULL ,
[CijenaSaPopustom] [money] NULL ,
[OrgJed] [int] NULL
) ON [PRIMARY]
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PrijemSMal]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[PrijemSMal]
GO

CREATE TABLE [dbo].[PrijemSMal] (
[BSkladP] [nvarchar] (10) COLLATE Croatian_CI_AS NULL ,
[Godina] [nvarchar] (4) COLLATE Croatian_CI_AS NULL ,
[BrojPrij] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[SifMat] [nvarchar] (20) COLLATE Croatian_CI_AS NULL ,
[NazivMat] [nvarchar] (240) COLLATE Croatian_CI_AS NULL ,
[JedMjere] [nvarchar] (15) COLLATE Croatian_CI_AS NULL ,
[Kolicina] [money] NULL ,
[JedCijena] [money] NULL ,
[Rabat] [money] NULL ,
[IznRabat] [money] NULL ,
[zavisni] [money] NULL ,
[IznZav] [money] NULL ,
[Zavisni2] [money] NULL ,
[IznZav2] [money] NULL ,
[Marza] [money] NULL ,
[IznMarza] [money] NULL ,
[Nabavna] [money] NULL ,
[Knizeno] [nvarchar] (2) COLLATE Croatian_CI_AS NULL ,
[Storno] [nvarchar] (2) COLLATE Croatian_CI_AS NULL ,
[PDV] [money] NULL ,
[PDVIzn] [money] NULL ,
[NabJed] [money] NULL ,
[PDVJed] [money] NULL ,
[MPC] [money] NULL ,
[rEDNI] [int] NULL ,
[Rab2] [money] NULL ,
[Irab2] [money] NULL ,
[Malcijena] [money] NULL ,
[Vp] [money] NULL ,
[VpUk] [money] NULL ,
[Zavisni3] [money] NULL ,
[IznZavisni3] [money] NULL ,
[Zavisni4] [money] NULL ,
[IznZavisni4] [money] NULL ,
[OrgJed] [int] NULL ,
[SifDob] [nvarchar] (15) COLLATE Croatian_CI_AS NULL ,
[Dobavljač] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[Datum] [smalldatetime] NULL
) ON [PRIMARY]
GO

f exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[InventSMal]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[InventSMal]
GO

CREATE TABLE [dbo].[InventSMal] (
[Godina] [nvarchar] (4) COLLATE Croatian_CI_AS NULL ,
[BrojInvent] [nvarchar] (10) COLLATE Croatian_CI_AS NULL ,
[BrSklad] [nvarchar] (10) COLLATE Croatian_CI_AS NULL ,
[SifMat] [nvarchar] (15) COLLATE Croatian_CI_AS NULL ,
[NazivMat] [nvarchar] (80) COLLATE Croatian_CI_AS NULL ,
[Kolicina] [money] NULL ,
[Cijena] [money] NULL ,
[Knizen] [bit] NULL ,
[Storno] [bit] NULL ,
[TBroj] [nvarchar] (10) COLLATE Croatian_CI_AS NULL ,
[TStopa] [money] NULL ,
[NabCijena] [money] NULL ,
[RedniBroj] [bigint] NULL ,
[Datum] [smalldatetime] NULL
) ON [PRIMARY]
GO


Zgoran
 
Odgovor na temu

BezPanike

Član broj: 128571
Poruke: 74



+2 Profil

icon Re: Selektiranje podataka iz više tablica sa SUM funkcijom15.03.2014. u 07:23 - pre 123 meseci
Da u posebnim kolonama dobiješ zbir iz svake tabele, tj Kolicina1 je zbir svih količina iz tabele [RacuniOpis], Kolicina2 je zbir svih kolicina iz tabele [PrijemSMal], a Kolicina3 je zbir svih kolicina iz tabele [InventSMal], onda je upit ovakav:
Code:
;WITH S AS (
SELECT SifraMat as Sifra, NazivMat AS Naziv, Kolicina AS Kolicina1, 0 AS Kolicina2, 0 AS Kolicina3
FROM RacuniOpis
UNION ALL
SELECT SifMat as Sifra, NazivMat AS Naziv, 0 AS Kolicina1, Kolicina AS Kolicina2, 0 AS Kolicina3
FROM PrijemSMal
UNION ALL
SELECT SifMat as Sifra, NazivMat AS Naziv, 0 AS Kolicina1, 0 AS Kolicina2, Kolicina AS Kolicina3
FROM InventSMal
)
SELECT Sifra, Naziv, SUM(Kolicina1) AS Kolicina1, SUM(Kolicina2) AS Kolicina2, SUM(Kolicina3) AS Kolicina13
FROM S
GROUP BY Sifra, Naziv;
 
Odgovor na temu

gogozec
Goran Zec
BiH Vitez

Član broj: 148730
Poruke: 16
*.team.ba.



Profil

icon Re: Selektiranje podataka iz više tablica sa SUM funkcijom15.03.2014. u 08:01 - pre 123 meseci
Ovo mi se čini da je ok, ali mi izbaciva grešku. Radim na SQL2000 kroz njegove query-je. Ovo sa With S mi daje grešku 'incorect syntax near keyword AS'
Zgoran
 
Odgovor na temu

BezPanike

Član broj: 128571
Poruke: 74



+2 Profil

icon Re: Selektiranje podataka iz više tablica sa SUM funkcijom15.03.2014. u 11:28 - pre 123 meseci
CTE nije poržan za SQL Server 2000.

Probaj ovako:
Code:
SELECT Sifra, Naziv, SUM(Kolicina1) AS Kolicina1, SUM(Kolicina2) AS Kolicina2, SUM(Kolicina3) AS Kolicina13
FROM (
    SELECT SifraMat as Sifra, NazivMat AS Naziv, Kolicina AS Kolicina1, 0 AS Kolicina2, 0 AS Kolicina3
    FROM RacuniOpis
    UNION ALL
    SELECT SifMat as Sifra, NazivMat AS Naziv, 0 AS Kolicina1, Kolicina AS Kolicina2, 0 AS Kolicina3
    FROM PrijemSMal
    UNION ALL
    SELECT SifMat as Sifra, NazivMat AS Naziv, 0 AS Kolicina1, 0 AS Kolicina2, Kolicina AS Kolicina3
    FROM InventSMal
) AS S
GROUP BY Sifra, Naziv;
 
Odgovor na temu

gogozec
Goran Zec
BiH Vitez

Član broj: 148730
Poruke: 16
*.team.ba.



Profil

icon Re: Selektiranje podataka iz više tablica sa SUM funkcijom15.03.2014. u 12:42 - pre 123 meseci
SVAKA ČAST.

Ovo radi perfektno!
Zgoran
 
Odgovor na temu

gogozec
Goran Zec
BiH Vitez

Član broj: 148730
Poruke: 16
*.team.ba.



Profil

icon Re: Selektiranje podataka iz više tablica sa SUM funkcijom20.03.2014. u 14:12 - pre 122 meseci
Može li još jedna mala pomoć?

Kako da ovom svemu pridružim i cijenu koja je u vezi sa ovim tabelama samo sa šifrom artikla i nazivom.
Ovo je kod koji radi:

SELECT TOP 100 PERCENT Sifra, Naziv, Godina, sklad, SUM(Kolicina1) AS Komerc, SUM(Kolicina2) AS Ulaz, SUM(Kolicina3) AS Početno, SUM(Kolicina4)
AS PrimoP
FROM (SELECT SifraMat AS Sifra, NazivMat AS Naziv, Godina, brojsklad AS sklad, Kolicina AS Kolicina1, 0 AS Kolicina2, 0 AS Kolicina3, 0 AS Kolicina4
FROM RacuniOpis
UNION ALL
SELECT SifMat AS Sifra, NazivMat AS Naziv, Godina, bskladP AS sklad, 0 AS Kolicina1, Kolicina AS Kolicina2, 0 AS Kolicina3, 0 AS Kolicina4
FROM PrijemSMal
UNION ALL
SELECT SifMat AS Sifra, NazivMat AS Naziv, Godina, brsklad AS sklad, 0 AS Kolicina1, 0 AS Kolicina2, Kolicina AS Kolicina3, 0 AS Kolicina4
FROM InventSMal
UNION ALL
SELECT Sifra AS Sifra, NazivMat AS Naziv, Godina, brsklad AS sklad, 0 AS Kolicina1, 0 AS Kolicina2, 0 AS Kolicina3, Kolicina AS Kolicina4
FROM PrimoPS) S
WHERE (Godina = '2014')
GROUP BY Sifra, Naziv, Godina, sklad
ORDER BY Sifra


Ovo je struktura tabele artikli i trebam spojiti polje MALCIJENA


if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Artikli]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Artikli]
GO

CREATE TABLE [dbo].[Artikli] (
[Sifra] [nvarchar] (26) COLLATE Croatian_CI_AS NOT NULL ,
[Naziv] [nvarchar] (150) COLLATE Croatian_CI_AS NULL ,
[JedMj] [nvarchar] (10) COLLATE Croatian_CI_AS NULL ,
[ProcRabSkupine] [money] NULL ,
[JedCijena] [decimal](19, 6) NULL ,
[MalCijena] [money] NULL ,
[SifDob] [nvarchar] (15) COLLATE Croatian_CI_AS NULL ,
[Dobavljac] [nvarchar] (40) COLLATE Croatian_CI_AS NULL ,
[Opis] [ntext] COLLATE Croatian_CI_AS NULL ,
[TBPU] [money] NULL ,
[SifTBPU] [nvarchar] (3) COLLATE Croatian_CI_AS NULL ,
[TBPNP] [money] NULL ,
[SifTBPNP] [nvarchar] (3) COLLATE Croatian_CI_AS NULL ,
[TBPDV] [money] NULL ,
[SifTBPDV] [nvarchar] (3) COLLATE Croatian_CI_AS NULL ,
[TBP1] [money] NULL ,
[TBP2] [money] NULL ,
[TBP3] [money] NULL ,
[Diskont] [money] NULL ,
[Nabavna] [decimal](19, 4) NULL ,
[ZadnjaC] [money] NULL ,
[bARCODE] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[Proiz] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[SifP] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[Grupa] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[Kalk] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[Vrsta] [bit] NULL ,
[RabSkupina] [nvarchar] (10) COLLATE Croatian_CI_AS NULL ,
[SifTBPP] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[Kolicina] [int] NULL ,
[DatumZadNab] [smalldatetime] NULL ,
[DatumZadIzm] [smalldatetime] NULL ,
[ZadnjaMarz] [money] NULL ,
[Brand] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[StraniNaziv1] [nvarchar] (100) COLLATE Croatian_CI_AS NULL ,
[StraniNaziv2] [nvarchar] (100) COLLATE Croatian_CI_AS NULL ,
[JedPak] [nvarchar] (15) COLLATE Croatian_CI_AS NULL ,
[KolPak] [money] NULL ,
[CijenaPak] [money] NULL ,
[BarPak] [nvarchar] (24) COLLATE Croatian_CI_AS NULL ,
[JedPal] [nvarchar] (15) COLLATE Croatian_CI_AS NULL ,
[KolPal] [money] NULL ,
[CijenaPal] [money] NULL ,
[BarPal] [nvarchar] (24) COLLATE Croatian_CI_AS NULL ,
[ProdNo] [nvarchar] (24) COLLATE Croatian_CI_AS NULL ,
[NaSklad] [nvarchar] (15) COLLATE Croatian_CI_AS NULL ,
[BrojSklad] [nvarchar] (15) COLLATE Croatian_CI_AS NULL ,
[Minimal] [money] NULL ,
[Maximal] [money] NULL ,
[KatalBroj] [nvarchar] (25) COLLATE Croatian_CI_AS NULL ,
[BrojRac] [bigint] NULL ,
[Polica1] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[Polica2] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[FiskNaziv] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[Marka] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[Model] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[Tip] [nvarchar] (50) COLLATE Croatian_CI_AS NULL ,
[FiskPLU] [nvarchar] (15) COLLATE Croatian_CI_AS NULL ,
[Tezinski] [nvarchar] (15) COLLATE Croatian_CI_AS NULL ,
[Tezina] [bit] NULL ,
[MalNabavna] [money] NULL ,
[MalJedCijena] [money] NULL ,
[Država] [nvarchar] (25) COLLATE Croatian_CI_AS NULL ,
[pIznos] [money] NULL ,
[Kategorija] [nvarchar] (25) COLLATE Croatian_CI_AS NULL ,
[Unarudbi] [bit] NULL ,
[ZZONabavna] [money] NULL ,
[ZZOŠifra] [nvarchar] (15) COLLATE Croatian_CI_AS NULL ,
[ZZOVPC] [money] NULL ,
[ATCŠifra] [nvarchar] (15) COLLATE Croatian_CI_AS NULL ,
[Godina] [smallint] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO




Zgoran
 
Odgovor na temu

BezPanike

Član broj: 128571
Poruke: 74



+2 Profil

icon Re: Selektiranje podataka iz više tablica sa SUM funkcijom22.03.2014. u 06:00 - pre 122 meseci
Da još malo komplikujemo :)

Code:
SELECT K.Sifra, Artikli.Naziv, Artikli.MalCijena,
        K.Godina, K.sklad, K.Komerc, K.Ulaz, K.Početno, K.PrimoP
FROM 
(
    SELECT TOP 100 PERCENT Sifra, Godina, sklad, SUM(Kolicina1) AS Komerc, SUM(Kolicina2) AS Ulaz, SUM(Kolicina3) AS Početno, SUM(Kolicina4) AS PrimoP
    FROM (
        SELECT SifraMat AS Sifra, Godina, brojsklad AS sklad, Kolicina AS Kolicina1, 0 AS Kolicina2, 0 AS Kolicina3, 0 AS Kolicina4
        FROM RacuniOpis
        UNION ALL
        SELECT SifMat AS Sifra, Godina, bskladP AS sklad, 0 AS Kolicina1, Kolicina AS Kolicina2, 0 AS Kolicina3, 0 AS Kolicina4
        FROM PrijemSMal
        UNION ALL
        SELECT SifMat AS Sifra, Godina, brsklad AS sklad, 0 AS Kolicina1, 0 AS Kolicina2, Kolicina AS Kolicina3, 0 AS Kolicina4
        FROM InventSMal
        UNION ALL
        SELECT Sifra AS Sifra, Godina, brsklad AS sklad, 0 AS Kolicina1, 0 AS Kolicina2, 0 AS Kolicina3, Kolicina AS Kolicina4
        FROM PrimoPS
    ) S
    WHERE (Godina = '2014')
    GROUP BY Sifra, Godina, sklad
) AS K INNER JOIN Artikli ON K.Sifra = Artikli.Sifra
ORDER BY Sifra
 
Odgovor na temu

gogozec
Goran Zec
BiH Vitez

Član broj: 148730
Poruke: 16
*.team.ba.



Profil

icon Re: Selektiranje podataka iz više tablica sa SUM funkcijom22.03.2014. u 17:21 - pre 122 meseci
Ovo je super fazon.

Ovako sam se ja snašao dok nisam dobio odgovor:

SELECT TOP 100 PERCENT Sifra, Naziv, Godina, sklad, Cijena, SUM(Kolicina1) AS Komerc, SUM(Kolicina2) AS Ulaz, SUM(Kolicina3) AS Početno, SUM(Kolicina4)
AS PrimoP
FROM (SELECT A.SifraMat AS Sifra, A.NazivMat AS Naziv, A.Godina, A.brojsklad AS sklad, ISNULL(B.MalCijena, 0) AS Cijena, A.Kolicina AS Kolicina1, 0 AS Kolicina2,
0 AS Kolicina3, 0 AS Kolicina4
FROM RacuniOpis A LEFT OUTER JOIN
Artikli B ON a.SifraMat = b.Sifra
UNION ALL
SELECT A.SifMat AS Sifra, A.NazivMat AS Naziv, A.Godina, A.bskladP AS sklad, ISNULL(B.MalCijena, 0) AS Cijena, 0 AS Kolicina1, A.Kolicina AS Kolicina2,
0 AS Kolicina3, 0 AS Kolicina4
FROM PrijemSMal A LEFT OUTER JOIN
Artikli B ON a.SifMat = b.Sifra
UNION ALL
SELECT A.SifMat AS Sifra, A.NazivMat AS Naziv, A.Godina, A.brsklad AS sklad, ISNULL(B.MalCijena, 0) AS Cijena, 0 AS Kolicina1, 0 AS Kolicina2,
A.Kolicina AS Kolicina3, 0 AS Kolicina4
FROM InventSMal A LEFT OUTER JOIN
Artikli B ON a.SifMat = b.Sifra
UNION ALL
SELECT A.Sifra AS Sifra, A.NazivMat AS Naziv, A.Godina, A.brsklad AS sklad, ISNULL(B.MalCijena, 0) AS Cijena, 0 AS Kolicina1, 0 AS Kolicina2, 0 AS Kolicina3,
A.Kolicina AS Kolicina4
FROM PrimoPS A LEFT OUTER JOIN
Artikli B ON a.Sifra = b.Sifra) S
WHERE (Godina = '2014')
GROUP BY Sifra, Naziv, Godina, sklad, Cijena
ORDER BY Sifra


Ali sa ovim drugim selektom mogu sabrati i oduzeti sve.


SVAKA Čast.
Zgoran
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1338
*.dynamic.sbb.rs.



+5 Profil

icon Re: Selektiranje podataka iz više tablica sa SUM funkcijom08.05.2014. u 21:46 - pre 121 meseci
Meni treba ovo slicno,samo u paradox tabeli i sa delphijem....
dve tabele,artikli,arhiva.....
gde treba da dobijem upitom tabelu
sifra,artikal,jedinicamere,cena,(sum(artikli.zalihe) as ulaz,sum(arhiva.kolicina) as izlaz, i trenutne zalihe,kao razlika ove dve sume....Hvala unapred
 
Odgovor na temu

gogozec
Goran Zec
BiH Vitez

Član broj: 148730
Poruke: 16
*.team.ba.



Profil

icon Re: Selektiranje podataka iz više tablica sa SUM funkcijom29.05.2014. u 09:29 - pre 120 meseci
Eh sad se ovo malo širi.

Trebam uvrstiti kriterije u pojedine SELECT-e i to sam skontao na ovaj način ali mi ne radi:

sFilter = "SELECT Sifra, Naziv, Cijena, (SUM(Kolicina2) + SUM(Kolicina3))-(SUM(Kolicina1) + SUM(Kolicina4)) AS Stanje" & _
" FROM (SELECT A.SifraMat AS Sifra, B.Naziv AS Naziv, A.Godina, A.brojsklad AS sklad, ISNULL(B.MalCijena, 0) AS Cijena, A.Kolicina AS Kolicina1, 0 AS Kolicina2, 0 AS Kolicina3, 0 AS Kolicina4" & _
" FROM RacuniOpislj A LEFT OUTER JOIN Artikli B ON a.SifraMat = b.Sifra where neskidaj=0" & _
" UNION ALL" & _
" SELECT A.SifMat AS Sifra, B.Naziv AS Naziv, A.Godina, A.bskladP AS sklad, ISNULL(B.MalCijena, 0) AS Cijena, 0 AS Kolicina1, A.Kolicina AS Kolicina2, 0 AS Kolicina3, 0 AS Kolicina4" & _
" FROM PrijemSMal A LEFT OUTER JOIN Artikli B ON a.SifMat = b.Sifra" & _
" UNION ALL" & _
" SELECT A.SifMat AS Sifra, B.Naziv AS Naziv, A.Godina, A.brsklad AS sklad, ISNULL(B.MalCijena, 0) AS Cijena, 0 AS Kolicina1, 0 AS Kolicina2, A.Kolicina AS Kolicina3, 0 AS Kolicina4" & _
" FROM InventSMal A LEFT OUTER JOIN Artikli B ON a.SifMat = b.Sifra" & _
" UNION ALL" & _
" SELECT A.SifraMat AS Sifra, B.Naziv AS Naziv, A.Godina, A.brojsklad AS sklad, ISNULL(B.MalCijena, 0) AS Cijena, A.Kolicina AS Kolicina1, 0 AS Kolicina2, 0 AS Kolicina3, 0 AS Kolicina4" & _
" FROM RacuniOpis A LEFT OUTER JOIN Artikli B ON a.SifraMat = b.Sifra where Nadoplata=0)" & _
" WHERE Godina='" & Godina & "' And Sklad='" & SkladLj & "' AND Naziv LIKE '%" & Trim(Naziv) & "%'" & _
" GROUP BY Sifra, Naziv, Cijena" & _
" ORDER BY Sifra"

Izbaciva mi grešku na WHERE klauzuli

Kako da ga zveknem da radi?
Zgoran
 
Odgovor na temu

BezPanike

Član broj: 128571
Poruke: 74



+2 Profil

icon Re: Selektiranje podataka iz više tablica sa SUM funkcijom01.06.2014. u 12:14 - pre 120 meseci
Fali ti alias za izvedenu tabelu (derived table) - ono AS S

Code:
SELECT Sifra, Naziv, Cijena, (SUM(Kolicina2) + SUM(Kolicina3))-(SUM(Kolicina1) + SUM(Kolicina4)) AS Stanje 
FROM (
    SELECT A.SifraMat AS Sifra, B.Naziv AS Naziv, A.Godina, A.brojsklad AS sklad, ISNULL(B.MalCijena, 0) AS Cijena, 
            A.Kolicina AS Kolicina1, 0 AS Kolicina2, 0 AS Kolicina3, 0 AS Kolicina4 
    FROM RacuniOpislj A LEFT OUTER JOIN 
        Artikli B ON a.SifraMat = b.Sifra 
    where neskidaj=0 
    UNION ALL 
    SELECT A.SifMat AS Sifra, B.Naziv AS Naziv, A.Godina, A.bskladP AS sklad, ISNULL(B.MalCijena, 0) AS Cijena, 
            0 AS Kolicina1, A.Kolicina AS Kolicina2, 0 AS Kolicina3, 0 AS Kolicina4 
    FROM PrijemSMal A LEFT OUTER JOIN 
        Artikli B ON a.SifMat = b.Sifra 
    UNION ALL 
    SELECT A.SifMat AS Sifra, B.Naziv AS Naziv, A.Godina, A.brsklad AS sklad, ISNULL(B.MalCijena, 0) AS Cijena, 
            0 AS Kolicina1, 0 AS Kolicina2, A.Kolicina AS Kolicina3, 0 AS Kolicina4 
    FROM InventSMal A LEFT OUTER JOIN 
        Artikli B ON a.SifMat = b.Sifra 
    UNION ALL 
    SELECT A.SifraMat AS Sifra, B.Naziv AS Naziv, A.Godina, A.brojsklad AS sklad, ISNULL(B.MalCijena, 0) AS Cijena, 
            A.Kolicina AS Kolicina1, 0 AS Kolicina2, 0 AS Kolicina3, 0 AS Kolicina4 
    FROM RacuniOpis A LEFT OUTER JOIN
         Artikli B ON a.SifraMat = b.Sifra 
    where Nadoplata=0
)  AS S  -- mora da ima alias!
WHERE Godina='2014' And Sklad='1' AND Naziv LIKE '%Naziv%' 
GROUP BY Sifra, Naziv, Cijena 
ORDER BY Sifra

 
Odgovor na temu

gogozec
Goran Zec
BiH Vitez

Član broj: 148730
Poruke: 16
*.team.ba.



Profil

icon Re: Selektiranje podataka iz više tablica sa SUM funkcijom03.06.2014. u 10:36 - pre 120 meseci
Svaka čast.
To sam previdio.

Hvala još jednom!
Zgoran
 
Odgovor na temu

[es] :: MS SQL :: Selektiranje podataka iz više tablica sa SUM funkcijom

[ Pregleda: 4413 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

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