Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie kilku wartości
Forum PHP.pl > Forum > Bazy danych
L_Devil
Witam!

Mam następujący problem: mam tablicę która ma dwa pola:

Nazwa parametru i jego wartość

Wartość jest zawsze numeryczna. Chciałbym teraz pobrać kilka wartości - robienie kilku zapytań to oczywiście głupota i strata czasu procesora, więc pomyślałem o zapytaniu
  1. SELECT wartosc
  2. FROM tabela WHERE nazwa='cena' OR nazwa='podatek' OR nazwa='zysk';
I tutaj mam problem - w odpowiedzi SQL przysyła trzy liczby. Skąd mam wiedzieć która jest z której nazwy parametru?

Drugie pytanie. Chciałbym teraz updatetować te kilka informacji na raz. Czy i jak da się to zrobić?
kszychu
SELECT nazwa, wartosc ..... i już wiesz co jest co smile.gif
nospor
Cytat
Drugie pytanie. Chciałbym teraz updatetować te kilka informacji na raz. Czy i jak da się to zrobić?

  1. UPDATE tabela SET wartosc = nowawartosc WHERE nazwa='cena' OR nazwa='podatek' OR nazwa='zysk';


Co do pierwszego co juz otrzymales prawidłową odpowiedź od kszycha to napisze, bo sie powstrzymac nie moge: patrz podpis poniżej. To sie naprawde przydaje
L_Devil
No tak do tego pierwszego nie pomyślałem...

ale to drugie niestety nie jest tym o co mi chodzi:

tzn.

chciałbym w polu 'cena' dać wartość np. 100, w polu 'podatek' np. 22, w polu 'zysk' np. 78 i to wszystko w jednym zapytaniu
nospor
Ja może teraz troche odbiene od tematu, ale mnie to interesuje.
Czy te trzy rekordy z cena, podatek i zysk odnoszą się do jednego? Jesli tak to rekordy powinny byc polami w rtekordzie, a nie kolejnymi rekordami

tabela:
id, cena, podatek, zysk, pozostale pola
L_Devil
te rekordy typu 'cena', itp. to były tylko przykłady winksmiley.jpg Jest po prostu n wartości numerycznych w tabeli, przy czym trzeba uwazględnić że liczba n nie jest const. więc nie mogę zrobić tabeli na n-pól. No i n może mieć nawet wartość nawet kilkaset - tabela z taką ilością pól chyba się mija z celem, zwłaszcza że co chwilę trzeba będzie dodawać jakieś pole, lub usuwać zbędne.
Dlatego ponawiam pytanie - jak updeatować kilka rekordów jednym zapytaniem?
nospor
W tym przypadku co podales:
  1. UPDATE tabela SET wartosc = IF(nazwa = 'cena',100,IF(nazwa='podatek',22,78)) WHERE nazwa='cena' OR nazwa='podatek' OR nazwa='zysk'
L_Devil
Dzięki smile.gif
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.