2009-11-13 17 views
6

मैं एकाधिक तालिकाओं पर एकाधिक प्रश्नों को चलाने की कोशिश कर रहा हूं- "टेबलए से चुनें गिनती (*) जहां x = 1" प्रति तालिका।एकाधिक SQL क्वेरी एक साथ कैसे योग करें?

मैं क्या करना चाहते हैं क्या,

कोई भी विचार गिनती (*) मानों लौट आए और उन्हें एकल मूल्य में योग कर रहे हैं के सभी मिलता है ...?

+0

आप एसक्यूएल में ऐसा करना चाहते हैं? या आपकी कॉलिंग भाषा में - थोड़ी अधिक जानकारी उपयोगी होगी। – Paddy

उत्तर

10
select sum(individual_counts) from 
(
    select count(*) as individual_counts from TableA where x = 1 
    union all 
    select count(*) from TableB where x = 2 
.... 
) as temp_table_name 

आपको यूनियन का उपयोग करते समय सामान्य रूप से केवल पहले चयन पर उपनाम की आवश्यकता होती है।

+0

यह मेरे लिए काम किया! धन्यवाद! (मूल पोस्टर) – user198923

+0

यदि कोई भी गणना नहीं है तो यह काम नहीं करेगा। डुप्लिकेट शामिल नहीं होंगे। हालांकि 'यूनियन ऑल' करना काम करना चाहिए। –

+0

@ जोश: आप बिल्कुल सही हैं: मैंने तदनुसार अपना जवाब संपादित कर लिया है। धन्यवाद! – davek

8

नहीं 100% यकीन है कि तुम क्या मतलब है, लेकिन शायद:

SELECT (SELECT COUNT(*) FROM tableA)+(SELECT COUNT(*) FROM tableB) 
संबंधित मुद्दे