Szaisztok!
van egy sql-tábla amiben nevet és különböző árakat tartalmaz. Alapesetben Euro-ban számolunk, és egy átszámítási képlet van néhány pénznemre. Megldható az, hogy csak az euró-t adom meg, és a többi származtatott, mint az openoffice calc-ban.
- 1931 megtekintés
Hozzászólások
a táblában minek akarsz tőbb különböző árat megadni?? semmi értelme nincs, mert a select simán kiszámítja neked egyetlen értékből és az árfolyamból.
- A hozzászóláshoz be kell jelentkezni
"Megoldható az, hogy csak az euró-t adom meg, és a többi származtatott, mint az openoffice calc-ban?"
Elolvastad a kérdést is? :P
- A hozzászóláshoz be kell jelentkezni
én ezt úgy értelmeztem, hogy egy cellába írt képlet egy másik cellába írt adatból adja az értéket. mintha sql-ben azt adnád meg, hogy egy értéket a tábla egy másik értékből származtasson.
De lehet rosszul gondoltam :)
- A hozzászóláshoz be kell jelentkezni
Végtére is így sem rossz, bár így nem tudok keresni dollárra, és más pénznemre, gyors megoldásnak jó. Hogy kell?
- A hozzászóláshoz be kell jelentkezni
Miért nem?! Átalakítod a dollárt Euróra és azzal szűrsz.
- A hozzászóláshoz be kell jelentkezni
Aha értem, még kezdő vagyok, cask az openoffice adatbáziskezelőját használtam, eddig tetszik.
- A hozzászóláshoz be kell jelentkezni
Persze.
eltárolod az eurót, majd:
SELECT id, nev, tipus, anyamkinai, eur, (eur*1.2374) AS USD, (eur*283.99) AS HUF FROM stuff ORDER BY soregyenertek DESC
Ez igy fejbol, de mukodhet akar elsore is.
A konverzios ertekeket meg php-ben rakod bele a kveribe.
$sql='SELECT id, nev, tipus, anyamkinja, eur, (eur*' . $arfolyam['usd'] . ') AS USD FROM stuff ORDER BY soregyenertek DESC';
Vagy prepared statementet hasznalsz, az tisztabb.
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
Ok már kapásból az első működött. Úgyis lesznek olyan részek amelyek nem eszerint a képlet szerint mennek, azt csak egyénileg lehet úgyis. Köszönöm.
- A hozzászóláshoz be kell jelentkezni
Köll egy plusz tábla, bele az használatos pénznemek és az aktuális árfolyamok, plusz egy érvényesség kezdete mező. (ez utóbbi azért, hogy az ajánlatadáskor használt árfolyammal tudj utólag is számolni), aztán ennek a táblának a tartalmát használod szorzótényezőként a select-ben.
Ha az egyedi árazást meg akarod valósítani, akkor annak a szorzóit is táblából érdemes venni, és ezt a két (árfolyam, illetve egyedi_szorzók) táblát kell csak matatni, amit egy tetszőleges Mancikának oda lehet adni, hogy tartsa karban, akár egy aprócska webes felületről.
Így ugyanis nem kell a forrást matatni egy árfolyamváltozás esetén, és tetszőleges "időutazást" is lehet visszafelé tenni. Bár ha az árakról nincsenek historikus adatok, akkor az árfolyamra sem érdemes ilyesmit csinálni, bár attól még lehet.
- A hozzászóláshoz be kell jelentkezni
Csinalj egy olyan tablat, ami az EUR-ban megadott arat tartalmazza.
Ezutan definialj egy view-t (CREATE VIEW...), amelyben az egyes oszlopok szamitott ertekek. Ezutan a view-t ugyanugy hasznalhatod lekerdezesre, mint a tablakat.
Ennek ugye van egy olyan elonye, hogy a view szerkezetet tetszolegesen modosithatod, hogy uj valutak legyenek benne, valamint elegge gyors.
- A hozzászóláshoz be kell jelentkezni
Árfolyamváltozáskor meg drop/create... Nyeharasó...
- A hozzászóláshoz be kell jelentkezni
Subselecttel ez kikerülhető.
- A hozzászóláshoz be kell jelentkezni
Pontosan. Ezért kell az árfolyamok táblicsku...
- A hozzászóláshoz be kell jelentkezni
Hol mondtam en olyat, hogy az nem kell?
- A hozzászóláshoz be kell jelentkezni
Sehol, viszont azt sem mondtad, hogy kell :-) hiszen a view-t is lehet bedrótozott szorzóval kreálni, amivel a kolléga ott tartana, ahol a mádi honpolgár...
- A hozzászóláshoz be kell jelentkezni