Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 14:22 27.06.24 
Клубове/ Компютри и Интернет / Бази данни Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Re: Логика в SQL заявка. [re: NecroLamer]
Автор Dakota (erotoman)
Публикувано23.09.04 18:36  



Правиш си таблица за валутите с относителната им стойност спрямо избрана от теб валута - например евро:

mysql> SELECT * FROM currency;

+--------------+------+----------+
| currency_sid | name | value |
+--------------+------+----------+
| 1 | EUR | 1 |
| 2 | USD | 0.813337 |
| 3 | CHF | 0.646307 |
+--------------+------+----------+


Имаш и таблицата с имотите, където пазиш оригиналните валути и оригиналните цени:

mysql> SELECT * FROM real_estate;

+-----------------+----------------------+--------+--------------+
| real_estate_sid | name | price | currency_sid |
+-----------------+----------------------+--------+--------------+
| 1 | Къща в Драгалевци | 200000 | 1 |
| 2 | Барака във Факултето | 10000 | 2 |
| 3 | Мезонет в Женева | 300000 | 3 |
+-----------------+----------------------+--------+--------------+


Потребителят въвежда стойности за минимална и максимална стойност на валутите и номер на валутата, съответно: $min_value, $max_value, $currency_sid . Трябват ти всичко на всичко 2 заявки - една за да видиш текущия курс на валутата и втора, за да извадиш самите имоти. Ако не е критично, можеш и още при показване на списъка с валутите да взимаш и текущия курс и при submit директно да рапзолагаш с него - този метод обаче не е сигурен - пак казвам, ако не е критично, така си спестяваш 1 заявка. В противен случай ти трябва това:

SELECT

@curr_value := value
FROM
currency
WHERE
currency_sid=$currency_sid;

SELECT
re.real_estate_sid,
re.name,
re.price AS original_price,
c.name AS original_currency,
re.price * c.value AS price_in_euro
FROM
real_estate re INNER JOIN currency c
ON
re.currency_sid=c.currency_sid
WHERE
re.price * c.value BETWEEN $min_value * @curr_value AND $max_value * @curr_value


Разбира се, вероятно в таблицата с валутите ще имаш и дата, но принципно това не променя нищо - просто ще гледаш курса за текущата дата.

Everything louder than everything else...

Цялата тема
ТемаАвторПубликувано
* Логика в SQL заявка. NecroLamer   23.09.04 12:38
. * Re: Логика в SQL заявка. nupaT   23.09.04 14:11
. * Re: Логика в SQL заявка. _danitu   23.09.04 14:45
. * Re: Логика в SQL заявка. Dakota   23.09.04 16:21
. * Re: Логика в SQL заявка. AvB   23.09.04 15:48
. * Re: Логика в SQL заявка. Dakota   23.09.04 16:11
. * Re: Логика в SQL заявка. AvB   23.09.04 17:42
. * Re: Логика в SQL заявка. RepeatableRead   23.09.04 17:50
. * Re: Логика в SQL заявка. RepeatableRead   23.09.04 17:45
. * Re: Логика в SQL заявка. Dakota   23.09.04 18:36
. * Re: Логика в SQL заявка. NecroLamer   24.09.04 20:50
. * Re: Логика в SQL заявка. Dakota   27.09.04 18:43
. * Re: Логика в SQL заявка. timmyyy   24.09.04 18:42
. * Re: Логика в SQL заявка. NecroLamer   24.09.04 20:54
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.