Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL]Problem z prawidłowym zapytaniem
dopal
post
Post #1





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

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


Witam,

Dla opisania problemu urzyję jednego przykładu, generalnie zapytanie tyczy się całej tabeli oddania,a nie jednego przykładu.

w polu ODDNI2 są wartości liczbowe 100,150...600, 650. W polu ODSRDK znajdują się różne skrótowe nazwy, które są przypisane do określonych wartości z pola ODDNI2 np: ODDNI2=450 to ODSRDK=EK lub KP itd.

Chcę stworzyć zapytanie, które wybierze mi z tabeli ODDANIA, takie pozycje, których suma pól ODDNI2 będzie większa od 20000.
  1. "SELECT ODPLNR, ODDWNR, SUM(ODDNI2) AS NUMER, DADWIH FROM ODDANIA INNER JOIN DAWCY ON DADWNR=ODDWNR AND DAPLNR=ODPLNR
  2. //wHERE ODPLNR ='14000' AND ODDWNR ='40876'
  3. //GROUP BY ODPLNR,ODDWNR,DADWIH HAVING SUM(ODDNI2) > '20000' ";


To zapytanie działa mi ok i otrzymuję dobre wyniki, ale SUM(ODDNI2) AS NUMER, powinna być sumą z takich oto zapytań:
  1. $query2 = "SELECT ODPLNR, ODDWNR, SUM(ODDNI2 * 2) AS NUMER_KP FROM ODDANIA WHERE ODPLNR ='14000' AND ODDWNR ='40876' AND ODSRDK='EK' OR ODPLNR ='14000' AND ODDWNR ='40876' AND ODSRDK='KP' GROUP BY ODPLNR,ODDWNR";
  2.  
  3. $query3 = "SELECT ODPLNR, ODDWNR, SUM(ODDNI2 / 3) AS NUMER_OS FROM ODDANIA WHERE ODPLNR ='14000' AND ODDWNR ='40876' AND ODSRDK='FA' OR ODPLNR ='14000' AND ODDWNR ='40876' AND ODSRDK='EP' GROUP BY ODPLNR,ODDWNR";
  4.  

i dopiero ta suma powinna być większa od 20000.
Ja zrobić te podzapytania w zapytaniu?
Jednocześnie chciałbym by w wystwietlanej tabeli mieć zarówno pozycję NUMER z 1 zapytania, jak i NUMER_KP i NUMER_OS czyli np.

ODPLNR ODDWNR NUMER NUMER_KP NUMER_OS
14000 40876 5000 3250 1750
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 20.08.2025 - 04:27