ďťż
 
having - problem ďťż
 
having - problem
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

having - problem



::Marcin:: - 29-12-2006 00:25
having - problem
  Witam,

mam problem z przefiltrowaniem zwruconych danych.
Zapytanie ktore konczy sie klauzula group by zwraca takie przykładowe dane:

nazwa|cena
--------------
test | 2,5
--------------
test2 | NULL
--------------
test3 | NULL
--------------
test4 | 3,2
--------------
test5 | NULL

poniewaz w zapytaniu wykorzystuje left join to podczas zlaczenia dwuch tabel
powyzsze wartosci NULL w zwroconych rekordach sa wpisywane automatycznie
przez serewer MS SQL

Chciałbym za pomoca having przefiltrowac dane jak zrobie having cena > 0
dostaje tylko pierwszy i czwarty rekord z powzszej tabeli. Chcialbym zwrocic
wszystkie rekordy oprocz pierwszego i czwartego czyli tylko te gdzie jest
NULL probowalem zrobic tak: having cena = NULL ale to nie dziala nie zwraca
mi zadnych rekordow.
Czekam na wasze sugestie :-)

Pozdro...
Wszystkiego dobrego w Nowym Roku 2007





Grzegorz Danowski - 29-12-2006 00:25

  "::Marcin::" <zouaidia@gazeta.pl> wrote in message
news:en13ok$25u$1@inews.gazeta.pl...
....
> dostaje tylko pierwszy i czwarty rekord z powzszej tabeli. Chcialbym
> zwrocic
> wszystkie rekordy oprocz pierwszego i czwartego czyli tylko te gdzie jest
> NULL probowalem zrobic tak: having cena = NULL ale to nie dziala nie
> zwraca
> mi zadnych rekordow.

....podstawy się kłaniają:
cena Is Null
No i nie wiem czy rzeczywiście potrzebujesz Having a nie Where.
G.




Piotr KUCHARSKI - 29-12-2006 00:25

  ::Marcin:: <zouaidia@gazeta.pl> wrote:
> NULL probowalem zrobic tak: having cena = NULL ale to nie dziala nie zwraca
> mi zadnych rekordow.

Przy NULL zawsze "IS NULL".

p.

--
http://freedns.sgh.waw.pl/ -- bezpłatny DNS.
http://nerdquiz.sgh.waw.pl/ -- polska wersja quizu dla nerdów.
http://42.pl/u/ -- skracacz URL-i.




::Marcin:: - 29-12-2006 00:25

  co do podstaw to macie racje czasami wychodza braki :-)

Wybralem having zamiast where tak z czystej ciekawosci
Oczywiscie mozna by to zrobic z where tyle tylko ze roznica polega a tym ze
where "filtruje" dane przed zwroceniem a having "filtruje" juz zwrocone
wyniki i dlatego z czystej mojej ciekawosci zastosowalem ta mozliwosc.

Pomijajac moje zaciekawienie przy wiekszej ilosci rekordow lepiej bylo by
uzyc where zamiast zwracac full rekordow i potem je jeszcze "filtrowac"

Co o tym sadzicie ?





Borafu - 29-12-2006 00:25

  Piotr KUCHARSKI napisał(a):
> ::Marcin:: <zouaidia@gazeta.pl> wrote:
>> NULL probowalem zrobic tak: having cena = NULL ale to nie dziala nie zwraca
>> mi zadnych rekordow.
>
> Przy NULL zawsze "IS NULL".

No nie, przecież można dać cecha = NULL
wynik co prawda będzie zawsze "false", ale da się ;-)

Pozdro
--
Borafu




hubert depesz lubaczewski - 29-12-2006 00:25

  On 2006-12-28, Borafu <borafu_NIELUBIESPAMU@gazeta.pl> wrote:
> No nie, przecież można dać cecha = NULL
> wynik co prawda będzie zawsze "false", ale da się ;-)

jakie będą te wyniki?
cecha = NULL nie zwraca false!

depesz

--
rower trekkingowy od złotówki
http://www.allegro.pl/item151225399_...ywany_bcm.html




hubert depesz lubaczewski - 29-12-2006 00:25

  On 2006-12-28, ::Marcin:: <zouaidia@gazeta.pl> wrote:
> Co o tym sadzicie ?

o czym? o tym, że nie rozumiesz do czego służy having a do czego where?
having słuzy do pracy na danych zagregowanych.
czyli np. do czegoś takieg:
select id_klienta, count(*) from zamowienia group by id_klienta having count(*) > 10;

where pracuje na danych w tabeli a nie na agregatach.

technicznie - da się havingiem odwołać do danych z tabeli, ale w ten
sposób zabijasz sobie wydajność.

depesz

--
rower trekkingowy od złotówki
http://www.allegro.pl/item151225399_...ywany_bcm.html




::Marcin:: - 29-12-2006 00:25

  > o czym? o tym, że nie rozumiesz do czego służy having a do czego where?
> having słuzy do pracy na danych zagregowanych.
> czyli np. do czegoś takieg:
> select id_klienta, count(*) from zamowienia group by id_klienta having
count(*) > 10;
>
> where pracuje na danych w tabeli a nie na agregatach.
doskonale rozumiem roznice miedzy where a heving co zreszta mozna bylo
wyczytac z mojego ostatniego postu

> technicznie - da się havingiem odwołać do danych z tabeli, ale w ten
> sposób zabijasz sobie wydajność.
i o taka wlasnie odpowiedz mi chodzilo :-)




Borafu - 29-12-2006 00:25

  hubert depesz lubaczewski napisał(a):
> On 2006-12-28, Borafu <borafu_NIELUBIESPAMU@gazeta.pl> wrote:
>> No nie, przecież można dać cecha = NULL
>> wynik co prawda będzie zawsze "false", ale da się ;-)
>
> jakie będą te wyniki?
> cecha = NULL nie zwraca false!

Oops!
Spałem cztery godziny.
A teraz wstyd :-(

Pozdro
--
Borafu
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?= mysql i mysql-front, problem String line; if (line=="cos"){...}....problem Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?= [postgres] Problem z =?ISO-8859-2?Q?zmian=B1_struktury_i_z?==?ISO-8859-2?Q?ale=BFno=B6ciami=2E?= [oracle] =?ISO-8859-2?Q?zmia=BFd=BFony_przez_problem=3A_za?==?ISO-8859-2?Q?pytanie_do_hierarchi?= Problem z wartościami w MySQL :( [ MySQL and ASP and VBScript ] [PGSQL] czy ktos mial problemy z initdb pgsql 8.1 ? [MySQL] Problem z zapisem danych w bazie danych Problem z mysql - can't connect to MySQL/nietypowo...
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • natalia97.htw.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