Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Suma pól w wierszu (nie wszystkich)
shima
post
Post #1





Grupa: Zarejestrowani
Postów: 245
Pomógł: 0
Dołączył: 9.09.2002

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


Moje pytanie tutaj:

http://forum.php.pl/viewtopic.php?t=9704

zostało potraktowane w kategoriach żartu (chyba), więc ponawiam, zapewniając, że jest poważne.

Załóżmy, że mam tabelę

[sql:1:ec94ab04e5]CREATE TABLE `tak_nie` (
`kto` VARCHAR( 25 ) NOT NULL ,
`b1` TINYINT NOT NULL ,
`b2` TINYINT NOT NULL ,
`b3` TINYINT NOT NULL ,
`b4` TINYINT NOT NULL ,
`suma` INT NOT NULL ,
UNIQUE (
`kto`
)
);
[/sql:1:ec94ab04e5]

dla każdego wiersza "kto" chciałbym zsumować wartości pól b1, b2, b3, b4 i zapisać wynik w suma. Problem: nie wiem ile będę miał tych bx, a chciałbym zsumować wszystkie. Nie wiem, czy to pomoże, ale wszystkie kolumny mają ten sam człon główny, a różnią się liczbą na końcu. Jak w powyższym przykładzie. Mogę sobie poradzić z koaktencją, ale jak określić pola, z których czytam?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
DeyV
post
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Samo zapytanie do zliczenia i zapisania tych danych jest bardzo proste:

[sql:1:075f1199c7]Update `tak_nie`
SET
`suma` = b1 + b2 + b3[/sql:1:075f1199c7]

Niestety - nie ma chyba możliwości, by z poziomu MySQL wybrać tylko interesujące cię kolumny.
Oznacza to że całą listę kolumn które chcesz zsumować musisz przygotować w php, i zadać gotowe zapytanie.
A przykład, jak pobrać listę kolumn z tabeli jest tu:
[manual:075f1199c7]mysql_list_fields[/manual:075f1199c7]
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: 3.10.2025 - 01:05