Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] Zapytanie GROUP BY, Problem dla zaawansowanego :( help my
kielich
post
Post #1





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


Witam,
W bazie mam 2 tabele
tabela1 ma
vvv
xxx
aaa
sss
tabela 2 ma
2
3
5
Wykonałem zapytanie

  1. SELECT *
  2. FROM `pcategory`
  3. RIGHT JOIN `zle` ON pcategory.id=zle.klucz_subcategory
  4. WHERE klucz = 2
  5. GROUP BY `pcategory`.`id`


i dostałem

vvv - 2
xxx - 3
aaa - 5

CO zrobić aby przy sss pokazało się 0

BARDZO proszę o pomoc (IMG:style_emoticons/default/exclamation.gif) !

Ten post edytował kielich 4.04.2010, 18:51:59
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
-mkdes-
post
Post #2





Goście







  1.  
  2. SELECT * FROM pcategory pc
  3. RIGHT JOIN zlecenia zl ON pc.id=zl.klucz_subcategory
  4. WHERE pc.klucz = 2
  5. GROUP BY pc.id
Go to the top of the page
+Quote Post
kielich
post
Post #3





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


Na wstępie dzięki za ODP ale nadal tylko 3 rekordy dostaje
Go to the top of the page
+Quote Post
tomm
post
Post #4





Grupa: Zarejestrowani
Postów: 142
Pomógł: 28
Dołączył: 7.04.2008

Ostrzeżenie: (0%)
-----


skorzystaj z MySql'owej funkcji IFNULL
Go to the top of the page
+Quote Post
kielich
post
Post #5





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


NO już na samym początku próbowałem ale nie wiem jak to ogarnąć z w/w zapytaniem .


Ps. Bo przy menu mam np kategorie i nr ile produktów no ale jesli nie ma produktu w kategorii jak to ma miejsce w sss to musi być 0

(IMG:style_emoticons/default/sad.gif)

Bardzo proszę o pomoc ...
Go to the top of the page
+Quote Post
tomm
post
Post #6





Grupa: Zarejestrowani
Postów: 142
Pomógł: 28
Dołączył: 7.04.2008

Ostrzeżenie: (0%)
-----


i zmień RIGHT na LEFT bo chcesz żeby wszystkie rkordy z lewej tabeli sie wyświetliły a prawa uzupełniła NULLami
Go to the top of the page
+Quote Post
kielich
post
Post #7





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


No coś zrobiłem tylko zamiast mi 0 to nulla wstawia "NULL" A nie "0"
I możesz rozszerzyć dlaczego LEFT (IMG:style_emoticons/default/exclamation.gif) !
Go to the top of the page
+Quote Post
tomm
post
Post #8





Grupa: Zarejestrowani
Postów: 142
Pomógł: 28
Dołączył: 7.04.2008

Ostrzeżenie: (0%)
-----


to już nie chodzi o LEFTa a o IFNULLa, musisz podać całą listę pól jakie chcesz pobrać zamiast *
i w miejscu gdzie zachodzi możliwość "wyskoczenia" NULLa wpisujesz IFNULL(nazwa_pola, 0)
Go to the top of the page
+Quote Post
kielich
post
Post #9





Grupa: Zarejestrowani
Postów: 442
Pomógł: 4
Dołączył: 28.12.2008
Skąd: Warszawa

Ostrzeżenie: (20%)
X----


ok mam takie zapytanie

  1. SELECT zle.klucz_subcategory, IFNULL( pcategory.id, 0 )
  2. FROM `pcategory`
  3. LEFT JOIN `zle` ON pcategory.id = zle.klucz_subcategory
  4. WHERE klucz =2
  5. GROUP BY `pcategory`.`id`


I wszystko jest niby OK a jak takie zapytanie wykonać w zendzie (IMG:style_emoticons/default/sad.gif)
robiłem tak i nic:
  1. $select = $db ->select()
  2. ->from('pcategory','IFNULL( pcategory.id, 0 )')
  3. ->joinRight(('zle'),'pcategory.id=zle.klucz_subcategory')
  4. ->where('klucz = ?', $key)
  5. ->group('pcategory.id');


tylko o tego nulla sie rozchodzi ...

Ten post edytował kielich 4.04.2010, 20:37:23
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 20:00