Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]połączenie zapytań
Forum PHP.pl > Forum > Przedszkole
krzesik
Witam, mam problem z połączeniam zapytań MySQL
teraz mam tak:
struktura tabela1
ID_REK | ID_REK1 | ILOSC | ILOSC1 | ILOSC2 | WARTOSC

struktura tabela2
ID_REK | IMIE_NAZWISKO

na tę chwilę korzystam z dwóch zapytań:
  1. SELECT SUM(WARTOSC) AS WARTOSC, imie_nazwisko AS imie_nazwisko FROM TABELA1
  2. LEFT JOIN TABELA2 ON TABELA1.id_REK=TABELA2.id_REK GROUP BY imie_nazwisko


  1. SELECT SUM(tab1.ilosc), TABELA2.imie_nazwisko FROM
  2. (
  3. SELECT (ilosc) AS ilosc, id_REK AS id_REK FROM TABELA1
  4. UNION ALL
  5. SELECT (ilosc1) AS ilosc, id_REK AS id_REK FROM TABELA1
  6. UNION ALL
  7. SELECT (ilosc2) AS ilosc, id_REK AS id_REK FROM TABELA1
  8. ) AS tab1
  9. LEFT JOIN TABELA2 ON TABELA1.id_REK=TABELA2.id_REKk GROUP BY TABELA2.imie_nazwisko


wszystko działa dobrze, jednak chcę sortować wyniki
SUM(ilosc)/SUM(wartosc) i nie wiem jak to zrobić
trueblue
Spróbuj tak:
  1. SELECT SUM(t1.ilosc+t1.ilosc1+t1.ilosc2) AS ilosc,SUM(t1.wartosc) AS wartosc,t2.imie_nazwisko
  2. FROM tabela1 AS t1
  3. LEFT JOIN tabela2 ON t1.id_rek=t2.id_rek GROUP BY imie_nazwisko
  4. ORDER BY ilosc/wartosc
krzesik
dostaję komunikat
#1247 - Reference 'ilosc' not supported (reference to group function)

nie napisałem wcześniej, sortowanie chcę zrobić przez wynik dzielenia tych dwóch wartości
trueblue
Cytat(krzesik @ 24.05.2014, 18:13:58 ) *
nie napisałem wcześniej, sortowanie chcę zrobić przez wynik dzielenia tych dwóch wartości

Napisałeś.

Zamiast aliasów spróbuj bezpośrednio:
  1. SELECT SUM(t1.ilosc+t1.ilosc1+t1.ilosc2) AS ilosc,SUM(t1.wartosc) AS wartosc,t2.imie_nazwisko
  2. FROM tabela1 AS t1
  3. LEFT JOIN tabela2 ON t1.id_rek=t2.id_rek GROUP BY imie_nazwisko
  4. ORDER BY SUM(t1.ilosc+t1.ilosc1+t1.ilosc2)/SUM(t1.wartosc)
krzesik
dzięki pomogło
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.