मुझे कुछ तालिका से हटाने के लिए एक SQL कथन बनाने की आवश्यकता है जो किसी अन्य चयन कथन से मेल खाता है।एसक्यूएल सर्वर हटाएं और खंड
Teradata में हम
delete from table1
where (col1, col2) in (
select col1,col2
from table2
)
का उपयोग करते हैं एसक्यूएल सर्वर में यह WHERE..IN खंड में 1 से अधिक स्तंभ के लिए अनुमति नहीं है। मैंने सोचा कि मैं इन खंडों का उपयोग कर सकता हूं:
with tempTable(col1,col2) as (
select col1,col2
from table2
)
delete from table1
where table1.col1 = tempTable.col1
and table1.col2 = tempTable.col2
..DELETE खंड के साथ कैसे उपयोग करें? क्या कोई और तरीका है?
लिए काम करता है ... आप इस्तेमाल कर सकते हैं खंड के साथ, लेकिन इस तरह से आसान है। –
धन्यवाद यह काम किया! लेकिन ..DELETE के साथ कैसे उपयोग करें? – ala
इसके बारे में सोचते हुए, मुझे खंड के उपयोग का कोई कारण नहीं दिखता है। जब चीजें गंभीरता से गन्दा या जटिल होती हैं, तो मैं इसका उपयोग करता हूं, और किसी अन्य तालिका में सरल जुड़ने के आधार पर तालिका से हटाना अतिरिक्त कोडिंग प्रयास की गारंटी देने के लिए पर्याप्त जटिल नहीं है। –