sql - How to create view to calculate currencies? -


मेरे पास निम्न तालियां हैं:

  उत्पाद उत्पाद, idcurrency, मूल्य Prod1 1 5000 Prod2 2 3000 Prod3 3 2000 Currrency idcurrency, currencyID 1 यूरो 2 अमरीकी डालर 3 DKK ForexExchange idforexExchange ProviderName, idbaseCurrency, isActive 1 XE Eur 1 2 provider2 DKK 1 ForexRates idForexRates idforexExchange, toCurrency, exchangeRate 1 1 एईडी 2.3 2 1 EGY 1.3 3 1 जीबीपी 2.4 4 2 एईडी 7.3 5 3 ईजीवाई 6.4 6 4 जीबीपी 3.4  

मुझे सक्रिय मुद्रा के लिए यूएसडी डॉलर में सभी उत्पाद प्राप्त करना है।

- सभी मुद्रा दायर की गई लुकअप तालिका से संबंधित Currrency- हमारे पास विदेशी मुद्रा एक्सचेंज टेबल है, इसलिए यदि हमारे पास एक्सचेंज दरें के लिए कई प्रदाताओं हैं तो हमें बेस मुद्रा के अनुसार प्रत्येक एक्सचेंज के लिए मुद्राओं की दरें मिलती हैं

- विदेशी मुद्रा तालिका प्रत्येक के लिए दर को बचाती है एक्सचेंज

- हम सक्रिय एक्सचेंज से सक्रिय एक्सचेंज सेट कर सकते हैं, इसलिए इस एक्सचेंज रेट टेबल का उपयोग सिस्टम में किया जाएगा

  अपेक्षित परिणाम उत्पाद मान मान यूएसडी prod1 5000 25000 .... ...........  

यहां हम जाएं:

  - नमूना डेटा, किसी और को शुरू करने के लिए # उत्पाद (नाम varchar (50), idCurrency int, मान दशमलव (15,2)) बनाएँ तालिका #Currency (IdCurrency int, CurrencyID char 3)) टेबल #ForexExchange बनाएँ (IdForexExchange पूर्णांक, IdBaseCurrency चार (3), IsActive बिट) टेबल #ForexRates बनाएँ (IdForexRates पूर्णांक, IdForexExchange पूर्णांक, ToCurrency चार (3), ExchangeRate दशमलव (15,2)) GO INSERT INTO #Product मूल्यों ( 'Prod1', 1, 5000) #Product मान में डालें ( 'Prod2', 2, 3000) #Product मूल्यों ( 'Prod3', 3, 2000) #currency मान में डालें (1, 'यूरो में डालने अमरीकी डालर '), #currency मान में डालें (2' ') #currency मान में डालें (3,' DKK ') #ForexExchange मान में डालें (1,' यूरो ', 1) #ForexExchange मान (2, में डालने' DKK ', 1) #ForexRates मूल्यों (में डालने 1, 1,' एईडी ', 2.3) #ForexRates मान (2, 1 में डालने,' EGY ', 1.3) #ForexRates मूल्यों (में डालने 3, 1,' जीबीपी ', 2.4) #ForexRates मूल्यों (में डालने 4, 2, 'एईडी', 7.3) #ForexRates मूल्यों (में सम्मिलित 5, 3, 'EGY', 6.4) #ForexRates मूल्यों (में डालने 6, 4, 'जीबीपी', 3.4) GO  

और आपके विचार बयान:

  का चयन करें # Product.Name, # FromCurrency, # ForexRates.ToCurrency, # ForexRates.ExchangeRate रूप Currency.CurrencyID, * # ForexRates.ExchangeRate #Product बाएं से CalculatedValue के रूप में # Product.IdCurrency पर #currency शामिल हों OriginalValue, # Product.Value के रूप में # Product.Value = # Currency.IdCurrency बायाँ शामिल हों #ForexExchange पर IsActive = 1 और # Currency.CurrencyID = # ForexExchange.IdBaseCurrency वाम # ForexExchange.IdForexExchange = # ForexRates.IdForexExchange --WHERE के आधार पर संयोजन #ForexRates - # ForexRates.ToCurrency = 'अमरीकी डालर'  

मैं रखा खंड टिप्पणी की जहां के रूप में आप किसी भी अमरीकी डालर दिखाने के लिए मुद्रा की जरूरत नहीं है। आपके द्वारा अपनी क्वेरी में है कि फिल्टर शामिल नहीं होना चाहिए क्योंकि यह किसी भी मुद्रा में है कि उत्पाद मूल्यों को प्रदर्शित करने पुन: उपयोग किया जा सकता है:


Comments

Popular posts from this blog

oracle - The fastest way to check if some records in a database table? -

php - multilevel menu with multilevel array -

jQuery UI: Datepicker month format -