2011-08-12 17 views
7

अरे दोस्तों मुझे उम्मीद है कि आप इस छोटी सी समस्या के साथ मेरी मदद कर सकते हैं।चयन के साथ एसक्यूएल इंसर्ट और इनर जॉइन

मुझे यकीन नहीं है कि आपको स्थिति की व्याख्या कैसे करें ताकि बीमार बस इसे आज़माएं।

मुझे क्या करना कोशिश कर रहा हूँ है निम्नलिखित:

मैं तो मूल रूप से हर बार जब मैं अंदर एक विशिष्ट कारण खोजने तालिका RFC_Risks में कुछ विशेष मूल्यों और मानकों (जो मैं अपने आप को में टाइप) सम्मिलित करना चाहते हैं, तालिका आरसीएफ_ रिस्क, मैं एक नई पंक्ति लिखना चाहता हूं जो आरएफसी की प्राथमिकता को अद्यतन करता है, हर बार होता है, स्थिति 1.

मेरी समस्या अब है, जब मैं यह कथन चलाता हूं, तो मुझे बस मिलता है चयन भाग :-), सम्मिलित नहीं किया गया है, न ही मुझे SQL कथन त्रुटि या ऐसा कुछ भी मिलता है। मैं सिर्फ पैरामीटर में टाइप करता हूं और फिर मुझे SELECT तालिका मिलती है।

मैं एमएस एक्सेस 2010 का उपयोग कर रहा हूं और मुझे उम्मीद है कि आप मेरी "छोटी" समस्या से मेरी मदद कर सकते हैं।

INSERT INTO RFC_Risks (RFC_No, RiskPos, Datum, Comments, RiskPrio, Reason) 
SELECT RFC_Risks.RFC_No, (RFC_Risks.RiskPos +1) AS RiskPos, [Aktuelles Datum] AS Datum, [Kommentartext] AS Comments, [Neue Prio] AS RiskPrio, RFC_Risks.Reason 
FROM RFC_Risks INNER JOIN Risk_Reasons ON RFC_Risks.Reason = Risk_Reasons.Reasontext 
WHERE RFC_Risks.Reason = Risk_Reasons.Reasontext;
+1

एफवाईआई, मुझे नहीं लगता कि आपको अंत में 'कहां' खंड की आवश्यकता है, तो आपके 'इनर जॉइन' आपके लिए यह है =) – jadarnel27

+0

आपको कौन सी त्रुटि या अप्रत्याशित परिणाम मिल रहे हैं? यह मेरे लिए ठीक लग रहा है .. – Yuck

+0

@Yuck ऐसा लगता है कि वे अप्रत्याशित परिणाम प्राप्त कर रहे हैं कि आरएफसी_रिस्क में कोई रिकॉर्ड डाला नहीं गया है (केवल 'SELECT' भाग निष्पादित हो जाता है) – jadarnel27

उत्तर

1

कोष्ठक में उप-चयन को संलग्न करने का प्रयास करें।

+1

मेरा उत्तर शायद एक टिप्पणी के रूप में बेहतर होगा , जवाब नहीं, लेकिन मैं अभी तक प्रश्नों पर टिप्पणी नहीं कर सकता और एसक्यूएल मेरे लिए बहुत सरल दिखता है। जहां तक ​​मुझे पता है कि उप-चयन हमेशा कोष्ठक में संलग्न होना चाहिए, इसलिए मुझे लगता है कि यह आपके लिए काम कर सकता है। निश्चित रूप से जवाब दें कि क्या यह समाधान नहीं है। – taz

+0

तो क्या आपका मतलब है कि मुझे चयन के सामने एक पैरेंटी रखना चाहिए? RFC_Risks (RFC_No, RiskPos, Datum, Comments, Risk_Prio, कारण) में चयन करें (RFC_Risks.RFC_No, (RFC_Risks.RiskPos +1) AS RiskPos, [Aktuelles Datum] AS Datum, [Kommentartext] AS टिप्पणियाँ, [Neue Prio] AS Risk_Prio, RFC_Risks. Risk_Reasons INRER से Rason_Risks पर RFC_Risks में शामिल हों।Reasontext = RFC_Risks.Reason); – sXing

3

मैं आपके SQL कथन के बारे में कुछ भी नहीं खोज सकता जो इसे निष्पादित करने और/या त्रुटि को फेंकने से रोक देगा। (मुझे लगता है कि आपका WHERE खंड अनावश्यक है, लेकिन इससे डीबी इंजन इसे अस्वीकार नहीं कर सकता है।) आप इसे "चलाने" के लिए किस विधि का उपयोग कर रहे हैं?

आप पहुँच क्वेरी डिजाइनर उपयोग कर रहे हैं, और डिज़ाइन दृश्य डेटापत्रक देखें से स्विच, आपकी क्वेरी वास्तव में क्रियान्वित नहीं है ... डेटापत्रक दृश्य आप पंक्तियों जो यदि क्वेरी मार डाला गया प्रभावित होगा दिखाएगा।

स्थिति में ही है जैसे कि आप क्वेरी डिजाइनर में एक हटाएँ क्वेरी बना रहे थे ... डेटापत्रक दृश्य आप कौन-सी पंक्तियां हटा दिया जाएगा अगर क्वेरी मार डाला गया पता चलेगा, लेकिन डेटापत्रक दृश्य का उपयोग करने जा नहीं हटाता है उन पंक्तियों।

क्वेरी निष्पादित करें, उस आइकन पर क्लिक करें जिसमें लाल विस्मयादिबोधक बिंदु है।

+0

उस जानकारी के लिए आपको बहुत बहुत धन्यवाद, tbh मुझे नहीं पता था कि डेटाशीट या अन्य विधि के माध्यम से क्वेरी निष्पादित करने में कोई अंतर था, मैं इसे आज़माउंगा। – sXing

0

आपको अपनी क्वेरी निष्पादित करने की आवश्यकता है। यदि आप इसे केवल डेटाशीट व्यू में प्रदर्शित करते हैं, तो चयन कथन निष्पादित किया जाता है और आपको एक प्रकार के पूर्वावलोकन के रूप में प्रदर्शित किया जाता है।

वास्तव में क्वेरी निष्पादित करने के लिए, जब आप डिज़ाइन मोड में हों, तो आप टूलबार में "रन" बटन (लाल विस्मयादिबोधक चिह्न) पर क्लिक कर सकते हैं। आप डेटाबेस विंडो में क्वेरी पर डबल-क्लिक भी कर सकते हैं।

+0

धन्यवाद, मैंने कोशिश की, और अब पैरामीटर दर्ज करने के बाद, मुझे एक त्रुटि मिलती है, जहां पहुंच मुझे बताती है कि एक महत्वपूर्ण संघर्ष है। मैं पूरी तरह से यह सुनिश्चित नहीं करता कि ऐसा क्यों होता है, तालिका RFC_Risks में 2 प्राथमिक कुंजी, आरएफसी संख्या और जोखिमपोत है क्योंकि एक आरएफसी में केवल एक जोखिम हो सकता है। कोई विचार? – sXing

+0

@ एसएक्सिंग, आप प्राथमिक कुंजी के लिए पहले से ही तालिका में मौजूद रिकॉर्ड के रूप में समान मानों के साथ एक नया रिकॉर्ड डालने का प्रयास कर रहे हैं (आप दो या अधिक जोड़ सकते हैं, उनके प्राथमिक कुंजी के लिए नाम मानों के साथ रिकॉर्ड)। –

संबंधित मुद्दे