Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [sql] Problem ze złożonym zapytaniem
_olo_1984
post
Post #1





Grupa: Zarejestrowani
Postów: 289
Pomógł: 77
Dołączył: 5.08.2006

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


Witam

mam taki problem, chciałbym jednym zapytaniem wyciagnać dane z dwu tabel tak, aby kiedy podbiera mi dane kontrahentów, to potrzebuję też ilość zamówień każdego kontrahenta (z tym nie ma problemu) ale też ilość zamówień o statusie '0' i '1' osobno i razem czyli,
zakładajac ze jakis czlowiek zrobil w sklepie 10 zamowien, z czego 3 jeszcze nie zrealizowano (pole status =0 ) -> ma poakzać wynik 3/10

tabela kontrahenci:
id_kontrahenta | ...

tabela zamowienia:
id | id_kontrahenta | ... | status | aktywne

moje zapytanie:
  1. SELECT k.*, count(z.id) AS ile, (SELECT count(z.id) FROM `sklep_zamowienia` WHERE z.STATUS='0' AND z.id_kontrahenta=k.id_kontrahenta) AS zero FROM `kontrahenci` AS k LEFT JOIN `sklep_zamowienia` AS z ON(k.id_kontrahenta=z.id_kontrahenta) GROUP BY k.id_kontrahenta ORDER BY k.id_kontrahenta";


daje mi wynik taki, że jeżeli człowiek nic nie zamawial to ma 0/0 a jezeli ma chociaz jedno zamowienie to pokazuje max zamowien np 5/1 i tak przy kazdym kto mial jakiekolwiek zamowienia. Mam nadzieje ze nie zamieszalem. Prosze o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
joebezucha
post
Post #2





Grupa: Zarejestrowani
Postów: 43
Pomógł: 1
Dołączył: 23.05.2007
Skąd: Gliwice

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


Jeśli status moze przyjmowac tylko wartosci 0,1 to takie cos powinno zadzialac (nie sprawdzalem:)):

  1. SELECT k.*, COUNT(z.id) AS 'wszystkie', SUM(z.STATUS) AS 'zrealizowane', COUNT(z.id) - SUM(z.STATUS) AS 'niezrealizowane' FROM sklep_zamownienia z LEFT JOIN kontrahenci k ON(k.id_kontrahenta=z.id_kontrahenta) GROUP BY k.id_kontrahenta ORDER BY k.id_kontrahenta


Jesli status moze miec inne wartosci to zrob
  1. SUM(IF z.STATUS > 1, 1, 0) AS 'zrealizowane


Taka mam koncepcje ale nie bylo to sprawdzane nigdzie
Powodzenia
Go to the top of the page
+Quote Post

Posty w temacie


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: 6.10.2025 - 05:37