Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL में अस्पष्ट स्तंभ नाम के साथ क्वेरी त्रुटि

जब हम एक से अधिक तालिकाओं . से डेटा का चयन कर रहे होते हैं तो हमें इस त्रुटि का सामना करना पड़ता है तालिकाओं और चयनित स्तंभों में से कम से कम एक . से जुड़कर (यह तब भी होगा जब सभी स्तंभों का चयन करने के लिए * का उपयोग करें) एक से अधिक तालिकाओं में समान नाम के साथ मौजूद हों (हमारी चयनित/शामिल हुई टेबल)। उस स्थिति में हमें यह निर्दिष्ट करना होगा कि हम किस तालिका से कॉलम का चयन कर रहे हैं।

निम्नलिखित ऊपर वर्णित अवधारणा का एक उदाहरण समाधान कार्यान्वयन है

मुझे लगता है कि आपके पास केवल InvoiceID . में अस्पष्टता है जो दोनों InvoiceLineItems . में मौजूद है और Invoices अन्य क्षेत्र अलग लगते हैं। तो इसे आजमाएं

मैं अभी चालान आईडी को चालान से बदल देता हूं। चालान आईडी

   SELECT 
        VendorName, Invoices.InvoiceID, InvoiceSequence, InvoiceLineItemAmount
    FROM Vendors 
    JOIN Invoices ON (Vendors.VendorID = Invoices.VendorID)
    JOIN InvoiceLineItems ON (Invoices.InvoiceID = InvoiceLineItems.InvoiceID)
    WHERE  
        Invoices.InvoiceID IN
            (SELECT InvoiceSequence 
             FROM InvoiceLineItems
             WHERE InvoiceSequence > 1)
    ORDER BY 
        VendorName, Invoices.InvoiceID, InvoiceSequence, InvoiceLineItemAmount

आप किसी भी उपनाम का उपयोग किए बिना सभी कॉलम (चयन में, जहां, समूह द्वारा और क्रम में) के लिए tablename.columnnae का उपयोग कर सकते हैं। हालांकि आप अन्य उत्तरों द्वारा निर्देशित एक उपनाम का उपयोग कर सकते हैं



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में डेटाटाइम बनाम डेटाटाइम 2:क्या अंतर है?

  2. SQL सर्वर (T-SQL) में FORMAT () फ़ंक्शन कैसे काम करता है

  3. केवल एक कॉलम के लिए DISTINCT

  4. क्या SQL सर्वर प्रबंधन स्टूडियो में एक सेलेक्ट ... INTO OUTFILE समकक्ष है?

  5. SQL सर्वर में एक दृश्य को एन्क्रिप्ट कैसे करें