शायद यू संघ इस बात के लिए सभी उपयोग कर सकते हैं। इस ऑपरेटर के साथ, आप परिणामों से सेट को कई प्रश्नों से एक साथ जोड़ सकते हैं, प्रत्येक से सभी पंक्तियों को संरक्षित कर सकते हैं। ध्यान दें कि एक यूनियन ऑपरेटर (सभी कीवर्ड के बिना) परिणामस्वरूप मौजूद किसी भी "डुप्लिकेट" पंक्तियों को खत्म कर देगा। यूनियन ऑल ऑपरेटर प्रत्येक क्वेरी से सभी पंक्तियों को संरक्षित करता है (और संभवतः बेहतर प्रदर्शन करेगा क्योंकि इसमें डुप्लिकेट चेक और निष्कासन ऑपरेशन करने का ओवरहेड नहीं है)।
प्रत्येक कॉलम के कॉलम और डेटा प्रकार की संख्या प्रत्येक प्रश्न में मेल खाना चाहिए। यदि किसी एक प्रश्न में दूसरे की तुलना में अधिक कॉलम हैं, तो हम कभी-कभी कॉलम और डेटाटाइप "मैच" बनाने के लिए अन्य क्वेरी में डमी एक्सप्रेशन शामिल करते हैं। प्रायः, प्रत्येक क्वेरी की चयन सूची में एक अभिव्यक्ति (एक अतिरिक्त कॉलम) शामिल करना उपयोगी होता है जो एक शाब्दिक लौटाता है, यह प्रकट करने के लिए कि कौन सी क्वेरी पंक्ति का "स्रोत" था।
SELECT 'col1' AS source, col23, col343, col33, d FROM table1 WHERE ...
UNION ALL
SELECT 'col2', t2.fee, table2.fi, table2.fo, 'fum' FROM table2 JOIN table3 ON ...
UNION ALL
SELECT 'col3', '1', '2', buckle, my_shoe FROM table4
आप कोष्ठक का एक सेट में इस तरह एक प्रश्न लपेट कर सकते हैं और एक इनलाइन दृश्य के रूप में इसका इस्तेमाल करते हैं (या "व्युत्पन्न तालिका", MySQL शब्दावली में) है, ताकि आप के सभी पर कुल कार्रवाई कर सकते हैं पंक्तियों। उदाहरण:
select one.a
, SUM(one.b)
FROM (
SELECT 'q1' AS source, a, b, c, d FROM t1
UNION ALL
SELECT 'q2', t2.fee, t2.fi, t2.fo, 'fum' FROM t2
) one
GROUP BY one.a
ORDER BY one.a
लेकिन मुझे लगता है कि तालिकाओं में अधिक उपयुक्त होना शामिल है। आशा है कि मदद से आप
आप ** ** क्यों शामिल नहीं होना चाहते हैं? – Sjon
इसके बिना किसी भी शामिल हो? आलसी लोडिंग या कुछ !! – mohsen
मुझे लगता है कि शामिल होना भी बेहतर है। क्या आप हमें बता सकते हैं कि आप अपना आउटपुट कैसे चाहते हैं? –