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.
"SELECT ODPLNR, ODDWNR, SUM(ODDNI2) AS NUMER, DADWIH FROM ODDANIA INNER JOIN DAWCY ON DADWNR=ODDWNR AND DAPLNR=ODPLNR //wHERE ODPLNR ='14000' AND ODDWNR ='40876' //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ń:
$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"; $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";
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