Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytanie zwracające różnicę sumy dwóch wierszy
jurcio6
post 5.01.2012, 11:58:01
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 4.11.2010

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


Witam,

Mam następujący problem - próbuję stworzyć zapytanie, które zwróci mi różnicę (sumy wartości z dwóch kolumn) z dwóch wierszy - jeden z wierszy będzie zawierał sumę dwóch kolumn z pierwszej próbki z danego dnia, drugi wiersz będzie zawierał sumę dwóch kolumn z ostatniej próbki z danego dnia. Pobranie i połączenie tych wierszy już mam, nie wiem tylko jak teraz otrzymać z nich różnicę. Zagmatwane, więc od razu kod.
  1. SELECT * FROM
  2. ( SELECT a, b, a+b suma, sDateTime FROM tabela1 WHERE sDateTime LIKE '2012-01-05%' LIMIT 1) AS t1
  3. UNION
  4. SELECT * FROM
  5. ( SELECT a, b, a+b suma, sDateTime FROM tabela1 WHERE sDateTime LIKE '2012-01-05%' ORDER BY sDateTime DESC LIMIT 1) AS t2

Z zapytania powyżej otrzymuję taki wynik:
| a | b | suma | sDateTime |
----------------------------------
| 1 | 2 | 3 | 2012-01-05 00:00:01
| 5 | 6 | 11 | 2012-01-05 23:59:59

Natomiast chcę otrzymać jedną liczbę, która będzie wynikiem działania: (suma z wiersza 2 - suma z wiersza 1), czyli w powyższym wypadku: 11-3 = 8. Jak to osiągnąć?

Próbowałem zagnieździć kod z pierwszej ramki w jeszcze jednego select'a, ale nie idzie - coś takiego:
  1. SELECT t2 - t1 FROM
  2. (
  3. SELECT * FROM
  4. (SELECT a, b, a+b suma, sDateTime FROM tabela1 WHERE sDateTime LIKE '2012-01-05%' LIMIT 1) AS t1
  5. UNION
  6. SELECT * FROM
  7. (SELECT a, b, a+b suma, sDateTime FROM tabela1 WHERE sDateTime LIKE '2012-01-05%' ORDER BY sDateTime DESC LIMIT 1) AS t2
  8. )

Jak to zrobić w taki sposób, żeby potem łatwo można było dodać kolejne pola (i różnice sum z nich, analogicznie do powyższego przykładu)? Proszę o pomoc.

Ten post edytował jurcio6 5.01.2012, 12:02:54
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:00