मुझे यह पता लगाने में समस्या है कि मेरी क्वेरी कैसे सेट अप करें। मैं एक प्रश्न में संबंधों के बिना दो तालिकाओं का चयन करना चाहता हूं। शोध के बाद मुझे यूनियन के बारे में पता चला है, लेकिन समस्या कुछ मामलों में है, मेरे पास टाइप या स्टेटस कॉलम हैं जो एनम है और जब मैं उन्हें चुनने की कोशिश कर रहा हूं तो मुझे त्रुटि मिल रही है:

ERROR: UNION could not convert type money_transfer_type_enum to invoice_type_enum

मुझे लगता है कि एक प्रश्न में दो पूरी तरह से अलग तालिकाओं का चयन करना सबसे अच्छा अभ्यास नहीं है, लेकिन कुछ कारणों से मुझे इसकी आवश्यकता है, इसलिए एक और सवाल यह है: यदि संघ सभी मुझे इसे संभालने में मदद नहीं करेगा तो क्या कोई और है? अग्रिम में thx

0
Ali Idk 27 सितंबर 2021, 00:53

2 जवाब

सबसे बढ़िया उत्तर

सुनिश्चित नहीं है कि कॉलम किस प्रकार के हैं, लेकिन आप दोनों कॉलम को एक ही प्रकार में डाल सकते हैं, जैसे कुछ

SELECT money_transfer_type_enum::VARCHAR
FROM table1

UNION ALL

SELECT invoice_type_enum::VARCHAR
FROM table2

इस प्रकार की असंगति के लिए वर्चर एक पकड़ है, लेकिन यह कुछ लागतों के साथ आता है। आप देखना चाहेंगे कि दोनों कॉलम को INTEGER में डालने से भी समस्या हल हो सकती है

0
Lucas Abreu 27 सितंबर 2021, 01:05

ऐसा प्रतीत होता है कि आप union दो अलग-अलग एनमों को एक साथ नहीं कर सकते। आप संभावित रूप से दो सेटों को एक साथ जोड़ सकते हैं, लेकिन उन्हें अलग-अलग कॉलम में रख सकते हैं।

select money_transfer_type_enum, 
       NULL as invoice_type_enum
from tblA

union all

select NULL as money_transfer_type_enum,
       invoice_type_enum
from tblB

सुनिश्चित नहीं है कि यह आपकी समस्या का समाधान करता है, लेकिन इससे आपको बिना किसी त्रुटि के दो तालिकाओं को एक साथ जोड़ने की अनुमति मिलनी चाहिए।

0
Kurt Kline 27 सितंबर 2021, 01:03