माइक्रोसॉफ्ट एज़ूर एसक्यूएल का उपयोग करके मेरे पास निम्न चुनिंदा क्वेरी काम कर रही है। मुझे एक अपडेट की आवश्यकता है जहां मैंने स्टॉपकाउंट = 0 के साथ किसी भी रिकॉर्ड के लिए wd.delete_requested = true सेट किया है। तो दूसरे शब्दों में, stop_detail Driver_Wave_Ticket_Table से संबंधित है। मुझे किसी भी वेव टिकट रिकॉर्ड को हटाने के लिए ध्वजांकित करने की आवश्यकता है जिसमें कोई स्टॉप_डिटेल रिकॉर्ड नहीं है।
SELECT wd.Id,
(SELECT COUNT(*) FROM Stop_Detail sd WHERE sd.wave_ticket_detail_Id = wd.Id) stopsCount
FROM Driver_Wave_Ticket_Detail wd
WHERE wd.wave_ticket_date = '1901-01-01 00:00:00.000'
AND wd.delete_requested IS NULL
AND wd.opened_utc IS NULL
ORDER BY wd.id, stopsCount
2 जवाब
हम्म । . . मैं सोच रहा हूँ not exists
:
update wd
set delete_requested = 1
from Driver_Wave_Ticket_Detail wd
where not exists (select 1
from Stop_Detail sd
where sd.wave_ticket_detail_Id = wd.Id
) and
wd.wave_ticket_date = '1901-01-01 00:00:00.000' and
wd.delete_requested IS NULL and
wd.opened_utc IS NULL;
सामान्य तौर पर, not exists
एकत्रीकरण करने और परिणाम 0
की जांच करने की तुलना में तेज़ है।
सुनिश्चित नहीं है कि यह आपके प्रश्न का उत्तर देता है, लेकिन मैं इस परिदृश्य के लिए केस स्टेटमेंट का उपयोग करने की सोच रहा हूं:
SELECT
a.Id,
a.stopsCount,
CASE WHEN stopsCount = 0 THEN True else FALSE end as delete_flag
FROM
(SELECT wd.Id,
(SELECT COUNT(*) FROM Stop_Detail sd WHERE sd.wave_ticket_detail_Id = wd.Id) stopsCount
FROM Driver_Wave_Ticket_Detail wd
WHERE wd.wave_ticket_date = '1901-01-01 00:00:00.000'
AND wd.delete_requested IS NULL
AND wd.opened_utc IS NULL) a
ORDER BY
a.Id,
a.stopsCount
संबंधित सवाल
नए सवाल
sql
संरचित क्वेरी भाषा (एसक्यूएल) डेटाबेस को क्वेरी करने के लिए एक भाषा है। प्रश्नों में कोड उदाहरण, तालिका संरचना, नमूना डेटा और DBMS कार्यान्वयन के लिए एक टैग (जैसे MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2, आदि) का उपयोग किया जाना चाहिए। यदि आपका प्रश्न केवल एक विशिष्ट DBMS (विशिष्ट एक्सटेंशन / सुविधाओं का उपयोग करता है) से संबंधित है, तो इसके बजाय उस DBMS के टैग का उपयोग करें। एसक्यूएल के साथ टैग किए गए सवालों के जवाब में आईएसओ / आईईसी मानक एसक्यूएल का उपयोग करना चाहिए।