मैं union select का उपयोग करके 2 तालिकाओं से डेटा का चयन कर रहा हूं:

select Product_Code from Discount_Table union select Product_Code from Discount2_Table 

संघ क्वेरी इसे लौटाती है

enter image description here

इसलिए डेटा का चयन करने के बाद, मैं इस डेटा का उपयोग अन्य तालिकाओं के साथ जुड़ने के लिए करना चाहता हूं, उदाहरण के लिए, Product_Table, लेकिन मुझे त्रुटियां हो रही हैं।

यह मेरी क्वेरी है

select Product_Name, Price
from Discount_Table
union
select Product_Code
from Discount2_Table
join Product_Table on Discount_Table.Product_Code = Product_Table.Product_Code

किसी भी सुझाव/सहायता की सराहना की जाएगी!

0
Joel2342 5 जून 2020, 12:17

2 जवाब

आप इस तरह सबक्वायरी का उपयोग कर सकते हैं:

SELECT * FROM 

(select Product_Name,Price from Discount_Table union select Product_Code from Discount2_Table) Discount_Table

JOIN Product_Table ON Discount_Table.Product_Code = Product_Table.Product_Code
0
Vojtěch Dohnal 5 जून 2020, 12:22

कुछ अलग तरीके हैं जिनसे आप बाद में किसी क्वेरी में परिणाम तालिका का उल्लेख कर सकते हैं, लेकिन यहां कुछ जोड़े दिए गए हैं: आप अपनी पहली क्वेरी के परिणामों को सीटीई में डाल सकते हैं (कॉमन टेबल एक्सप्रेशन< /a>) और फिर उस पर अपने कोड में और नीचे शामिल हों:

WITH product_codes (Product_code) AS
    (
        select Product_Code 
        from Discount_Table 

        union

        select Product_Code 
        from Discount2_Table 
    )
    select t.Product_Name, t.Price  
    from product_codes pc
    join Product_Table t on pc.Product_Code = t.Product_Code

आप अस्थायी तालिकाओं का भी उपयोग कर सकते हैं:

select Product_Code 
INTO #product_codes
from Discount_Table 

union

select Product_Code 
from Discount2_Table 

select t.Product_Name, t.Price  
from #product_codes pc
join Product_Table t on pc.Product_Code = t.Product_Code

जो आपकी पहली क्वेरी से परिणामों को एक अस्थायी तालिका में संग्रहीत करके समान रूप से काम करता है जिसे आप बाद में क्वेरी में एक्सेस कर सकते हैं। अलग-अलग कारण हैं कि आप एक संस्करण को दूसरे पर क्यों चुनते हैं, लेकिन वे दोनों आपको परिणाम प्राप्त करने के लिए पर्याप्त काम करेंगे। मुझे अंतरों को थोड़ा और स्पष्ट करते हुए एक अच्छा उत्तर मिला यहां

0
Catatron 5 5 जून 2020, 15:17