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

MySQL को जॉइन/यूनियन का उपयोग किए बिना WHERE IN क्लॉज से डुप्लिकेट वापस करने के लिए बाध्य करें?

मुझे यकीन नहीं है कि आप जॉइन को एसक्यूएल के लिए काफी जरूरी क्यों प्रतिबंधित करना चाहते हैं। यह एक कार्यात्मक भाषा में फ़ंक्शन कॉल को प्रतिबंधित करने जैसा है।

इसे हल करने का एक अच्छा तरीका एक परिणाम सेट बनाना है जिसमें वे आईडी शामिल हैं जिन्हें आप वापस करना चाहते हैं और इसके साथ जुड़ना चाहते हैं। इसे करने का एक तरीका यह है:

SELECT Table1.*
FROM Table1
JOIN (SELECT 1 AS id
      UNION ALL SELECT 2
      UNION ALL SELECT 3
      UNION ALL SELECT 4
      UNION ALL SELECT 5
      UNION ALL SELECT 1
      UNION ALL SELECT 2
      UNION ALL SELECT 5
      UNION ALL SELECT 5) AS T1
ON Table1.id = T1.id

मुझे यकीन नहीं है कि क्या आपने इस विधि पर विचार किया है? इसमें ऐसी कोई भी समस्या नहीं है जिससे आप डरते हैं।

यदि आप शामिल होने पर प्रतिबंध लगाते हैं तो आप ऐसा तब तक नहीं कर सकते जब तक कि आप एक संग्रहीत प्रक्रिया का उपयोग नहीं करते हैं, जो मैं कहूंगा कि शामिल होने से भी बदतर है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कोडनिर्देशक लेनदेन

  2. MySQL डेटाबेस में पूर्णांकों के अग्रणी शून्य को INTEGER के रूप में संग्रहीत करना

  3. नकली तैयार बयान बनाम वास्तविक तैयार बयान

  4. सरणी MySQL और PHP से सम्मिलित क्वेरी बनाएँ

  5. MySQL डायनेमिक-पिवट