Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Mnożenie i sumowanie kolumn w zapytaniu
115750
post
Post #1





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 7.06.2004
Skąd: Poznań

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


Chciałem pomnożyć 2 kolumny z jednej tabeli przez 2 z innej i dodać te wyniki do siebie ale niestety mimo, że zapytanie jest wykonywane bez błędu, to wynik dodawania nie jest prawidłowy. Niezależnie od wartości w kolumnach, otrzymuję zawsze taki sam wynik, który nie pasuje do niczego.

  1. SELECT T1.A*T2.A AS wynik_A, T1.B*T2.B AS wynik_B, wynik_A + wynik_B AS wynik_koncowy FROM tabela T1, tabela T2 WHERE T1.id = T2.id


Czy można zatem w zapytaniu korzystać z nazw kolumn, które wcześniej zdefiniowaliśmy w tym zapytaniu?

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Twierdzisz, że o to: wynik_A + wynik_B AS wynik_koncowy nie pluje ci błędem tylko zwraca zły wynik. Nie wiem jakim cudem, bo mi taki zapis pluje właśnie błędem bazy i w wyniku czego nie zwraca żadnego wyniku.

Możesz pokazać cały kod, jak to odbierasz i w ogóle?
Go to the top of the page
+Quote Post
115750
post
Post #3





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 7.06.2004
Skąd: Poznań

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


Cytat(nospor @ 21.11.2012, 15:53:32 ) *
Twierdzisz, że o to: wynik_A + wynik_B AS wynik_koncowy nie pluje ci błędem tylko zwraca zły wynik. Nie wiem jakim cudem, bo mi taki zapis pluje właśnie błędem bazy i w wyniku czego nie zwraca żadnego wyniku.

Możesz pokazać cały kod, jak to odbierasz i w ogóle?


Dokładnie tak twierdzę (IMG:style_emoticons/default/smile.gif) Póki co testuję to w PHPMyAdmin.

Oto kod:
  1. SELECT T2.id, CONCAT(T2.nazwisko, ' ', T2.imie) AS osoba,
  2. T1.podstawa*T3.podstawa_kwota AS podstawa_kwota,
  3. T1.podstawa*T3.podstawa_kwota * T3.podstawa_stopa / 100 AS podatek,
  4. T1.premia*T3.premia_kwota AS premia_kwota,
  5. T1.premia*T3.premia_kwota*T3.premia_stopa / 100 AS premia_podatek,
  6. podstawa_kwota+premia_kwota
  7. FROM `lists_persons` T1, persons T2, lists T3
  8. WHERE id_list = 1
  9. AND T2.id = T1.id_person
  10. AND T3.id = T1.id_list
  11. ORDER BY osoba


Ostatnia kolumna czyli podstawa_kwota+premia_kwota zwraca mi wartość 900 niezależnie od składników sumy.
Już przy obliczaniu podatku też mi nie działo to prawidłowo, więc rozpisałem to tak jak Ty proponowałeś ale dalsze wyliczenia będa dłuższe, więc potrzebuję tych aliasów.
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: 28.12.2025 - 14:17