मैं तालिका चर में मेनू और सबमेनस बना रहा हूं। (एक ही तालिका में विशिष्ट अभिभावक बाल रिकॉर्ड) सभी शीर्ष मेनू के लिए पेरेंट आईडी कॉल शून्य है। और उनके बच्चे के लिए माता-पिता इन अभिभावक मेनू का मेनू आईडी होगा। (इस पर निर्भर करता है कि किस प्रकार का उपयोगकर्ता लॉग बनाता है) अब मुझे क्या करना है यदि विशेष माता-पिता के पास कोई बच्चा नहीं है, तो मैं इस तालिका चर से इस अभिभावक रिक्रोड को हटाना चाहता हूं।
मुझे पता है कि मैं इसे कर्सर के साथ या पंक्ति ऑपरेशन द्वारा पंक्ति के साथ कर सकता हूं। क्या मैं इसे किसी अन्य तरीके से कर सकता हूं?यदि बच्चा मौजूद नहीं है तो माता-पिता रिकॉर्ड हटाएं
5
A
उत्तर
3
अपनी मेज संरचना को देखने के बिना यह आप सटीक क्वेरी बताने के लिए आप की आवश्यकता होगी लेकिन, अगर मैं आपके सवाल का सही ढंग से समझ, तुम बस की तरह कुछ करने की ज़रूरत है मुश्किल है यह:
DELETE T
FROM MyTable T
WHERE NOT EXISTS(SELECT * FROM MyTable WHERE ParentID = T.MenuID)
AND T.ParentID IS NULL
यह क्वेरी उन सभी मेनू रिकॉर्ड्स को खोजने के लिए एक सहसंबंधित सबक्वायरी है जिसमें बाल रिकॉर्ड नहीं हैं। यह एसक्यूएल के EXISTS खंड का उपयोग करता
1
आप कुछ इस तरह कर सकता है:
delete from yourtable yt where not exists (select * from yourtable yt2 where yt.id = yt2.parentid) and yt.parentid is null
4
इस तरह एक एकल बयान (के रूप में उपयोग करने का विकल्प मौजूद है) यह करना चाहिए:
delete p
from
tblMenu p
left join tblMenu c on p.ID = c.ParentID
where
p.ParentID is null --Ensures that the item to delete is at the top
and c.ParentID is null --Finds top level items with no children
संबंधित मुद्दे
- 1. यदि रिकॉर्ड मौजूद है, तो
- 2. वर्ग - यदि मौजूद नहीं है तो
- 3. jQuery: जांच करें कि मान सरणी में है, यदि ऐसा है, तो हटाएं, यदि नहीं, तो
- 4. एएनएसआई एसक्यूएल प्रश्न - यदि रिकॉर्ड पहले से मौजूद है तो रिकॉर्ड कैसे डालें या अपडेट करें?
- 5. जावास्क्रिप्ट: यदि सरणी मौजूद है, तो जांचें,
- 6. यदि स्थिति मौजूद है तो MySQL ट्रिगर
- 7. बनाएँ यदि मौजूद नहीं है
- 8. यदि कुंजी मौजूद नहीं है तो डिफ़ॉल्ट मान
- 9. डालें यदि मौजूद नहीं है तो बस mysql
- 10. पोस्टग्रेज़: यदि यह पहले से मौजूद नहीं है तो
- 11. एक्सएसएलटी: यदि टैग मौजूद है, तो टेम्पलेट लागू करें; यदि नहीं, तो स्थिर मान चुनें
- 12. mysql सशर्त डालने - यदि मौजूद नहीं है
- 13. MySQL: यदि मान मौजूद है तो अपडेट करें INSERT
- 14. अगर रजिस्ट्री प्रविष्टि मौजूद है तो ऐसा करें, यदि ऐसा नहीं है, तो
- 15. यदि आवश्यक फ्लैग मौजूद नहीं हैं तो संकलित विफल
- 16. पर्ल का उपयोग करते हुए, यदि यह मौजूद है तो सिमलिंक को कैसे जांचें और हटाएं?
- 17. निर्देशिका बनाएँ। यदि मौजूद है, तो निर्देशिका और उसकी सामग्री हटाएं और जावा
- 18. यदि सेवा मौजूद है
- 19. यदि सत्र मौजूद है या नहीं
- 20. केवल रिकॉर्ड दर्ज करें यदि रिकॉर्ड
- 21. यदि मौजूद है या मौजूद है?
- 22. स्क्रॉल बार को छिपाने के लिए कैसे छिपाना है, यदि आवश्यक नहीं है तो हटाएं
- 23. यदि मौजूद है तो फ़ाइल में जोड़ें और
- 24. एसक्यूएल सर्वर सीई: यदि अद्यतन मौजूद है तो
- 25. यदि कोई # सी में बयान मौजूद है तो और करें?
- 26. यदि कोई फ़ंक्शन मौजूद है तो DLL को कैसे जांचें?
- 27. अगर मौजूद नहीं है तो देखें?
- 28. यदि किसी अन्य तालिका में प्रविष्टि मौजूद नहीं है तो अतिरिक्त तालिका में प्रवेश नहीं होता है- अतिरिक्त मोड़
- 29. पायथन: फ़ाइल बनाएं लेकिन यदि नाम मौजूद है तो
- 30. यदि यह मौजूद नहीं है तो कोई सरणी में कोई तत्व पुश करें (कोई डुप्लीकेट नहीं)
आप एक रखरखाव काम (यानी एक बार) के रूप में यह करने के लिए करना चाहते हैं, या एक के रूप में नियमित घटना, जब भी कोई बच्चा हटा दिया जाता है? – Oded