Autor Zpráva
radas
Profil *
Zdravím,
potřeboval bych poradit, mam tabulku kde jsou sloupce id,popis,datum, cen1,cena2,cena3 a ja potřebuji a ja potřebuji z db vydolovat data id,popis a nejmenší cenu z jednoho z těch sloupců cena1,cena2,cena3 cenu s tím že v některých sloupců je buď 0 nebo nějaká hodnota a nebo je všech nějaké číslo. Raději uvedu příklad

1;popis1;datum1;0;2500;1500
2;popis2;datum2;3500;1500;2500

a podtřeboval bych dostat
1-popis1-datum1-1500
2-popis2-datum2-1500
absolutně mě nenapada jak na to...
Taps
Profil
radas:
$dotaz=mysql_query("select min(cena) as nejmensi cena from tabulky group by id");

radas
Profil *
Taps:
tím nedocilim ale toho co chci ...vyberu jen nejmenší hodnotu v jednom sloupci...
ja
Profil *
najlepsie by bolo normalizovat db
id,popis,datum
id(fk),typ_ceny, cena
Joker
Profil
radas:
mam tabulku kde jsou sloupce id,popis,datum, cen1,cena2,cena3
Přesně na tomhle místě je třeba se zarazit.
Jakmile je nutné indexovat sloupce tabulky (něco1, něco2,...), na 95% je návrh té tabulky špatně. No a jakmile potřebujete kvůli něčemu seskupovat data z těch sloupců dohromady, je návrh tabulky špatně prakticky na 100%.
Kajman_
Profil *
Možná něco jako
select nullif(least(if(cena1=0,2147483647,cena1),if(cena2=0,2147483647,cena2), if(cena3=0,2147483647,cena3)),2147483647) cena from tabulka

s tím, že to velké číslo je třeba měnit v závislosti na použitém datovém typu.
Kajman_
Profil *
Ale samozřejmě souhlasím, že je normální mít popisově upravenou strukturu :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: