2009-02-26 8 views
103

एसक्यूएल सर्वर में इस tmpFerdeen में ग्राहकों मेज से 100 रिकॉर्ड, सम्मिलित करता है: -क्या यूनियन [ALL] के साथ खंड में चयन का उपयोग करना संभव है?

SELECT top(100)* 
INTO tmpFerdeen 
FROM Customers 

यह एक संघ के पार एक का चयन करें जांच करने के लिए संभव है सभी का चयन करें: -

SELECT top(100)* 
FROM Customers 
UNION All 
SELECT top(100)* 
FROM CustomerEurope 
UNION All 
SELECT top(100)* 
FROM CustomerAsia 
UNION All 
SELECT top(100)* 
FROM CustomerAmericas 
नहीं

भी यकीन है कि INTO खंड कहां जोड़ें।

+0

क्या आपको यकीन है आपको संघ की जरूरत है? – sfossen

+0

हां। चूंकि रिकॉर्ड सभी तालिकाओं में अद्वितीय हैं। – Ferdeen

उत्तर

147

यह एसक्यूएल सर्वर में काम करता है:

SELECT * INTO tmpFerdeen FROM (
    SELECT top 100 * 
    FROM Customers 
    UNION All 
    SELECT top 100 * 
    FROM CustomerEurope 
    UNION All 
    SELECT top 100 * 
    FROM CustomerAsia 
    UNION All 
    SELECT top 100 * 
    FROM CustomerAmericas 
) as tmp 
+1

यह भी काम करता है शीर्ष 100 * ग्राहकों से TmpFerdeen में जोड़ें यूनियन सभी चयन शीर्ष 100 * ग्राहक युरोप यूनियन से सभी चुनें शीर्ष 100 * ग्राहक एशिया यूनियन से सभी चुनें ग्राहक 100 से शीर्ष 100 * (क्षमा करें यहां एसक्यूएल प्रारूपित नहीं कर सकते हैं)। धन्यवाद! – Ferdeen

+1

"tmp" के रूप में क्या महत्व है? – Dave

+0

@chrisVanOpstal, आपने शीर्ष 100 का चयन क्यों किया है? जब हम सभी रिकॉर्ड्स का चयन करते हैं तो यह त्रुटि देता है- "क्लॉज द्वारा ऑर्डर दृश्य, इनलाइन फ़ंक्शंस, व्युत्पन्न टेबल, सबक्वायरीज़ और सामान्य टेबल एक्सप्रेशन में अमान्य है, जब तक टॉप या एक्सएमएल के लिए निर्दिष्ट नहीं किया जाता है। "। कृपया कुछ समाधान दें। – ShaileshDev

-3

इस तरह कुछ कोशिश करें: अंतिम ऑब्जेक्ट टेबल बनाएं, संघ की संरचना के साथ tmpFerdeen बनाएं।

फिर

INSERT INTO tmpFerdeen (
SELECT top(100)* 
FROM Customers 
UNION All 
SELECT top(100)* 
FROM CustomerEurope 
UNION All 
SELECT top(100)* 
FROM CustomerAsia 
UNION All 
SELECT top(100)* 
FROM CustomerAmericas 
) 
+0

एसक्यूएल सर्वर अस्थायी तालिकाओं में फ्लाई पर बनाए जाते हैं। मैं अंतिम ऑब्जेक्ट टेबल बनाने के बिना ऐसा करना चाहता हूं। धन्यवाद। – Ferdeen

-1

हो सकता है कि इस कोशिश?

SELECT * INTO tmpFerdeen (
SELECT top(100)* 
FROM Customers 
UNION All 
SELECT top(100)* 
FROM CustomerEurope 
UNION All 
SELECT top(100)* 
FROM CustomerAsia 
UNION All 
SELECT top(100)* 
FROM CustomerAmericas) 
+0

आवश्यक तालिका उपनाम को याद करना (और यदि जोड़ा गया स्वीकार्य उत्तर के समान होगा) –

5
SELECT * INTO tmpFerdeen FROM 
(SELECT top(100)* 
FROM Customers 
UNION All 
SELECT top(100)* 
FROM CustomerEurope 
UNION All 
SELECT top(100)* 
FROM CustomerAsia 
UNION All 
SELECT top(100)* 
FROM CustomerAmericas) AS Blablabal 

यह "Blablabal" आप सब पर इस बात के लिए एक व्युत्पन्न मेज की जरूरत नहीं है आवश्यक

90

है।

बस पहले SELECT

SELECT top(100)* 
INTO tmpFerdeen 
FROM Customers 
UNION All 
SELECT top(100)* 
FROM CustomerEurope 
UNION All 
SELECT top(100)* 
FROM CustomerAsia 
UNION All 
SELECT top(100)* 
FROM CustomerAmericas 
+1

यह स्वीकार्य उत्तर होना चाहिए। – SQB

0

एमएस एक्सेस प्रश्नों के लिए के बाद INTO शब्दों में कहें, यह काम किया:

SELECT * INTO tmpFerdeen FROM( 
    SELECT top(100) * 
    FROM Customers 
UNION All 
    SELECT top(100) * 
    FROM CustomerEurope 
UNION All 
    SELECT top(100) * 
    FROM CustomerAsia 
UNION All 
    SELECT top(100) * 
    FROM CustomerAmericas 
) 

यह एमएस एक्सेस में काम नहीं किया

SELECT top(100) * 
    INTO tmpFerdeen 
    FROM Customers 
UNION All 
    SELECT top(100) * 
    FROM CustomerEurope 
UNION All 
    SELECT top(100) * 
    FROM CustomerAsia 
UNION All 
    SELECT top(100) * 
    FROM CustomerAmericas 
संबंधित मुद्दे