ďťż
 
sumowanei gdy w jednej z kolumn może być NULL ďťż
 
sumowanei gdy w jednej z kolumn może być NULL
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

sumowanei gdy w jednej z kolumn może być NULL



Andrzej Dąbrowski - 01-12-2005 20:34
sumowanei gdy w jednej z kolumn może być NULL
  Witam!
Proste pytanko dotyczące SQla:
Mam 2 tabele któtre łączę LEFT JOINEM z których chciałbym zsumować po 1
kolumnie, sęk w tym że jedna z nich może czasem zawierać wartości NULL,
wówczas w wyniku otrzymuję także Null - a marzeniem moim jest aby NULL
potraktowano jak 0. Jak to zrobić jednym zapytaniem SQL, ew. zmeinić
definicję tabeli?

SELECT EVENTS.EVENTS_ID,VA000A.VA000A_VALUE,VA000B.VA000B _VALUE,
VA000A.VA000A_VALUE+VA000B.VA000B_VALUE SUMA
FROM EVENTS
LEFT JOIN VA000A ON EVENTS.EVENTS_ID=VA000A.EVENTS_ID
LEFT JOIN VA000B ON EVENTS.EVENTS_ID=VA000B.EVENTS_ID

VA000A_VALUE VA000B_VALUE SUMA
10 5 15
23 NULL NULL - a
chciałbym 23

Andrzej Dąbrowski





Morff - 01-12-2005 20:34

  Dnia 01-12-2005 o 12:58:30 Andrzej Dąbrowski <andrzejd@sims.pl> napisał:

SELECT
EVENTS.EVENTS_ID,
nvl(VA000A.VA000A_VALUE,0) VA000A_VALUE,
nvl(VA000B.VA000B_VALUE,0) VA000B_VALUE,
nvl(VA000A.VA000A_VALUE,0)+nvl(VA000B.VA000B_VALUE ,0) SUMA
FROM EVENTS
LEFT JOIN VA000A ON EVENTS.EVENTS_ID=VA000A.EVENTS_ID
LEFT JOIN VA000B ON EVENTS.EVENTS_ID=VA000B.EVENTS_ID

--
Pozdrawiam
Morff
----------------------
AQQ 141151
Powered by Opera/M2




Piotr 'piter' Hlawski - 01-12-2005 20:34

  Andrzej Dąbrowski wrote:

> Mam 2 tabele któtre łączę LEFT JOINEM z których chciałbym zsumować po 1
> kolumnie, sęk w tym że jedna z nich może czasem zawierać wartości NULL,
> wówczas w wyniku otrzymuję także Null - a marzeniem moim jest aby NULL
> potraktowano jak 0.

Dlaczego nie podałeś jaka to baza? To takie trudne?
W mojej to będzie:

CASE WHEN pole IS NULL THEN 0 ELSE pole END

--
..:: Piter // doom2@op.pl // gg: 4534287 ::.
Z pszczołami nigdy nic nie wiadomo. Ani z misiami, prosiaczkami, królikami,
sowami...




Proton - 01-12-2005 20:34

 
Użytkownik "Piotr 'piter' Hlawski" <doom2@op.pl> napisał w wiadomości
news:2135690.LZkll2iQSA@zatoichi.homeunix.org...
> Andrzej Dąbrowski wrote:
>
>> Mam 2 tabele któtre łączę LEFT JOINEM z których chciałbym zsumować po 1
>> kolumnie, sęk w tym że jedna z nich może czasem zawierać wartości NULL,
>> wówczas w wyniku otrzymuję także Null - a marzeniem moim jest aby NULL
>> potraktowano jak 0.
>
> Dlaczego nie podałeś jaka to baza? To takie trudne?
> W mojej to będzie:
>
> CASE WHEN pole IS NULL THEN 0 ELSE pole END

A u mnie IFNULL(pole,0)
--
pozdro
Proton





Grzesiek G. - 01-12-2005 20:34

  Andrzej Dąbrowski napisał(a):
> Witam!
> Proste pytanko dotyczące SQla:
> Mam 2 tabele któtre łączę LEFT JOINEM z których chciałbym zsumować po 1
> kolumnie, sęk w tym że jedna z nich może czasem zawierać wartości NULL,
> wówczas w wyniku otrzymuję także Null - a marzeniem moim jest aby NULL
> potraktowano jak 0. Jak to zrobić jednym zapytaniem SQL, ew. zmeinić
> definicję tabeli?
>
> SELECT EVENTS.EVENTS_ID,VA000A.VA000A_VALUE,VA000B.VA000B _VALUE,
> VA000A.VA000A_VALUE+VA000B.VA000B_VALUE SUMA
> FROM EVENTS
> LEFT JOIN VA000A ON EVENTS.EVENTS_ID=VA000A.EVENTS_ID
> LEFT JOIN VA000B ON EVENTS.EVENTS_ID=VA000B.EVENTS_ID
>
> VA000A_VALUE VA000B_VALUE SUMA
> 10 5 15
> 23 NULL NULL - a
> chciałbym 23
>
> Andrzej Dąbrowski
>
>
VA000A.VA000A_VALUE+COALESCE(VA000B.VA000B_VALUE,0 ).

A co to za straszne nazwy kolumn?

--
Grzegorz Gruza
Odpowiadając usuń "spamerom_nie." z adresu!!!




Trzypion - 01-12-2005 20:34

  On Thu, 1 Dec 2005 12:58:30 +0100, "Andrzej DÂąbrowski"
<andrzejd@sims.pl> wrote:

>Proste pytanko dotyczące SQla:
>Mam 2 tabele któtre łączę LEFT JOINEM z których chciałbym zsumować po 1
>kolumnie, sęk w tym że jedna z nich może czasem zawierać wartości NULL,
>wówczas w wyniku otrzymuję także Null - a marzeniem moim jest aby NULL
>potraktowano jak 0. Jak to zrobić jednym zapytaniem SQL, ew. zmeinić
>definicję tabeli?

Dodać podzapytanie. Na przykład masz tabelę tab1 z kolumnami A, B, C,
gdzie C jest ta z nullami.
Robisz tak:
Select A, B, CASE when is null then 0 else C from tab1

A łączysz z tabela tab2 np. po polu a tak:

select * from
tab2 join (Select A, B, CASE when is null then 0 else C from tab1 AS
TABA) on tab2.a=TABA.A

--
___________ (R)
/_ _______ Adam 'Trzypion' Płaszczyca (+48 502) 122 688
___/ /_ ___ ul. Ludwiki 1 m. 74, 01-226 Warszawa
_______/ /_ http://trzypion.oldfield.org.pl/fotk...rterka/II_MPL/
___________/ GG: 3524356




Andrzej Dąbrowski - 01-12-2005 20:34

  BD Firebird, dziękuję wszystkim znalazłem w międzyczasie COALESCE działa,
CASE WHEN va000b.va000b_value IS NULL THEN 0 ELSE va000b.va000b_value END
też, nvl(VA000B.VA000B_VALUE,0) nie działa, IFNULL nie działa. Dziękuję za
pomoc.
Andrzej Dąbrowski




Grzegorz Szyszlo - 03-12-2005 15:50

  Proton napisał(a):
> Użytkownik "Piotr 'piter' Hlawski" <doom2@op.pl> napisał w wiadomości
> news:2135690.LZkll2iQSA@zatoichi.homeunix.org...
>
>>Andrzej Dąbrowski wrote:
>>
>>
>>>Mam 2 tabele któtre łączę LEFT JOINEM z których chciałbym zsumować po 1
>>>kolumnie, sęk w tym że jedna z nich może czasem zawierać wartości NULL,
>>>wówczas w wyniku otrzymuję także Null - a marzeniem moim jest aby NULL
>>>potraktowano jak 0.
>>
>>Dlaczego nie podałeś jaka to baza? To takie trudne?
>>W mojej to będzie:
>>
>>CASE WHEN pole IS NULL THEN 0 ELSE pole END
>
>
> A u mnie IFNULL(pole,0)

A w mojej COALESCE(pole,0) ;) i jest to znacznie bardziej
zgodne z definicją ansi sql ;)
dziala nawet COALESCE(pole1,pole2,pole3), wtedy
wybierze pierwsze nienulowate ;P no chyba ze same nulle sie
trafia, wtedy trudno.

znik.




Grzegorz Szyszlo - 03-12-2005 15:50

  Grzesiek G. napisał(a):

> VA000A.VA000A_VALUE+COALESCE(VA000B.VA000B_VALUE,0 ).
>
> A co to za straszne nazwy kolumn?

pewnie robione jakims generatorem.

znik.




Andrzej Dąbrowski - 03-12-2005 15:50

  odgórnie narzucone bo sa to odpowiedniki adresów zmeinnych w urządzenaich
fizycznych
Użytkownik "Grzegorz Szyszlo" <znik@wbc.lublin.pl> napisał w wiadomości
news:dmpgh5$mcg$2@news.lublin.pl...
> Grzesiek G. napisał(a):
>
>> VA000A.VA000A_VALUE+COALESCE(VA000B.VA000B_VALUE,0 ).
>>
>> A co to za straszne nazwy kolumn?
>
> pewnie robione jakims generatorem.
>
> znik.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [mysql] =?ISO-8859-2?Q?po=B3=B1czenie_tabel_wg_kolumn=2C_?==?ISO-8859-2?Q?nie_wierszy?= ms sql server - =?ISO-8859-2?Q?domy=B6lny_format_kolumn_ty?==?ISO-8859-2?Q?pu_datetime?= [ORACLE] Dodanie kolumny typu BLOB - =?ISO-8859-2?Q?wp=B3yw_na?==?ISO-8859-2?Q?_wydajno=B6c?= =?ISO-8859-2?Q?=5BORACLE=2C_ORDER_BY=5D_Czy_indeksowane_?==?I SO-8859-2?Q?kolumny_przy=B6piesz=B1_sortowanie=3F?= pytanie o zapytanie z having count = count z innej kolumny [MySQL/PHP] Wyszukiwanie rekordu przez kolumnę wskazaną przez zmienną [MySQL] Skopiowanie =?ISO-8859-2?Q?warto=B6ci_z_jednego_po?==?ISO-8859-2?Q?la_do_drugiego_w_jednej_tabeli=2C_r=F3=BFne_?= =?ISO-8859-2?Q?wiersze=2E?= =?iso-8859-2?Q?=5BMSSQL2005=5D_Zawarto=B6c_kolumny_varbinary= 28max=29_?= =?iso-8859-2?Q?=5BORACLE=5D_-_projekcja_kolumn_okre=B6lonego_typu?= [SQL] W jaki sposób zwrócić wiersze które NIE znadują się w 2 pozostałych kolumnach
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • anette.xlx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com