2010-03-28 12 views
15

बाध्य नहीं किया जा सकता है मैं इस बहुत ही सरल एसक्यूएल बयान है:बहु-भाग पहचानकर्ता

SELECT  max_dose 
FROM   psychotropes 
WHERE  (patient_meds.psychotrope = psychotrope_name) AND (patient_meds.patient_id = 12) 

जब मैं विजुअल स्टूडियो 2008 में इसे चलाने के लिए प्रयास करते हैं, यह मुझे "बहु-भाग 'patient_meds.psychotrope बताता है 'पहचानकर्ता "बाध्य नहीं किया जा सकता है

यह अजीब है, क्योंकि मैं चित्र दर्शक में दो तालिकाओं के बीच एक संबंध स्थापित किया था

उत्तर

16

मुझे लगता है कि आप के रूप में तालिका सूची में patient_meds शामिल करना होगा:

+०१२३५१६४१०६१
FROM psychotropes, patient_meds 
+0

omg। मुझे विश्वास नहीं है कि मैंने यह गलती की है। ठीक है, यह महीनों हो गया है कि मैंने जुड़ने को स्पर्श नहीं किया ... thx man – jello

+2

यह पुरानी शैली में शामिल है ... खराब फॉर्म। जॉइन कीवर्ड का उपयोग करने के लिए durilai का जवाब देखें – gbn

+0

@ जीबीएन और यह कहां है ** ** ** कीवर्ड के लिए durilai का जवाब ** –

9

आप क्वेरी में तालिका शामिल नहीं कर रहे हैं। स्कीमा को जानने के बिना यह सिर्फ एक धारणा है। इसके अलावा एक डेटाबेस आरेख क्वेरी में सहायता करने के लिए कुछ भी नहीं करता है।

SELECT ax_dose 
FROM psychotropes 
INNER JOIN patient_meds ON psychotropes.psychotrope_name = patient_meds.psychotrope 
WHERE (patient_meds.patient_id = 12) 
+0

"एक डेटाबेस आरेख भी प्रश्नों में सहायता करने के लिए कुछ भी नहीं करता है" का मतलब है कि मुझे उनसे जुड़ने के लिए एक विदेशी कुंजी के साथ दो तालिकाओं को एक साथ जोड़ने की आवश्यकता नहीं है? – jello

+2

@ जेेलो: तकनीकी रूप से, अधिकांश आरडीबीएमएस में, नहीं। हालांकि, यह अभी भी एक अच्छा विचार है। –

+0

@durilai: एक ईआरडी एक ही जानकारी प्राप्त करने के लिए एकाधिक 'डीईएससी तालिका' आदेश चलाने की बचत करता है। –

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