» »

[T-SQL] count funkcija

[T-SQL] count funkcija

ql000 ::

Napišem skripto, ki gleda tabelo glav faktur in jo joina z tabelo postavk, uporabljam JOIN. Funkcija sum, mi prikaže pravilen rezultat (seštevam vrednosti polja), funkcija count, mi pa kljub temu, da štejem vrednosti v glavi sešteje dejansko postavke. Kaj delam narobe?

select count(G.[Fakturna knjiga])
from [].[dbo].[podjetje$Sales Invoice Header] as G left join [].[dbo].[podjetje$Sales Invoice Line] as P
on G.[No.] = P.[Document No.]
where G.[Posting date] >= convert(datetime,'1.1.2010',103) and G.[Posting date] <= convert(datetime,'30.4.2010',103) and G.[Fakturna knjiga] = 'P07'

tomaz_sres ::

Uporabljaš LEFT JOIN, torej šteješ vse zapise iz tabele
[].[dbo].[podjetje$Sales Invoice Header] as G in ne iz
postavk.

T

Zgodovina sprememb…

ql000 ::

Nja... samo rezultat, ki ga dobim je pa število postavk, ne pa glav, to meni ne gre v račun. Če uporabim count samo na tabeli glav, brez joina, dobim pravilen rezultat. Kakor hitro pa join-am dobim pa napačen rezultat.

tomaz_sres ::

Hm nekak ni logike :0))

Če bi uporabil JOIN potem bi dobil število postavk z LEFT JOIN,
kot imaš zdaj, pa vse zapise iz tabele G.

T

Da se popravim, vse zapise iz tabele G kjer
G.[Fakturna knjiga] is not null

T

Zgodovina sprememb…



Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

SQL backup import

Oddelek: Programiranje
81058 (860) meh
»

[Sql] Poizvedba

Oddelek: Programiranje
111810 (1461) ales85
»

c# - mssql kombinacija / problem pri zapisu row-a v bazo

Oddelek: Programiranje
121590 (1399) darkolord
»

[MySql] obratno od DISTINCT

Oddelek: Programiranje
101442 (1260) frudi
»

[T-SQL] Kako vnest podatek v bazo in da ti hkrati vrne id?

Oddelek: Programiranje
162888 (2606) dmok

Več podobnih tem