mysql - SQL query to join four tables -
उपयोगकर्ता तालिका - उपयोगकर्ता आईडी, प्रथम नाम, अंतिम नाम निवेश तालिका - निवेश आईडी, निवेश नाम एनडीए तालिका - निवेश आईडी, उपयोगकर्ता आईडी, एनडीए पर हस्ताक्षर किए (बूलियन) अनुमति तालिका - निवेश आईडी, यूजर आईडी, दृश्य अनुमति (बूलियन)
परिणाम की आवश्यकता है - एनडीए पर हस्ताक्षर किए जाने वाले उपयोगकर्ताओं का पहला नाम और अंतिम नाम एक विशेष निवेश आईडी।
इनपुट - निवेश आईडी
आउटपुट - प्रथम नाम, अंतिम नाम, एनडीए (सही / गलत) पर हस्ताक्षर किए, दृश्य अनुमति (सही / गलत)
मुझे क्वेरी मिली जहां आउटपुट पहला नाम है, आखिरी नाम, एनडीए हस्ताक्षरित
SELECT u.First_Name, u.Last_Name, n.Nda_Signed यूजर यू जॉइन एनडीए ON u.User_Id = N.User_Id निवेश i पर निवेश करें I पर। निवेश = आईडी = एन। इन्वेस्टमेंट_आईडी जहां i। इन्वेस्टमेंट_आईडी = 347
लेकिन दोनों एनडीए और अनुमति तालिका में शामिल होने में समस्या है।
मैं ऐसा निम्नानुसार करता हूं:
selec टी यू.युसर_आईडी, यू.फ़ीस्ट_नाम, यू। ओस्ट_नाम, राशि (जब टाइप = 'एनएनडीए' और हाँनो = 1 तब 1 और 0 एण्ड) के रूप में एनडीए_साइन किया गया, योग (मामले में जब टाइप = 'प्रति' और हाँनो = 1 तब 1 अन्य 0 अंत) उपयोगकर्ता यू से जुड़ने के रूप में vw_perm (चयन करें invest_id, user_id, nda_signed as yesno, 'एनडीए' एनडीए यूनियन से निर्दिष्ट के रूप में सभी निवेश निवेश_आईडी, यूज़र_आईडी, व्यू_स्पिशन, 'प्रति' अनुमति से) x.यूएसयूआर_आईडी = x पर User_id जहां investment_id = 'xyz' समूह द्वारा यू.युसर_आईडी, यू.फर्स्ट_नाम, u.last_name
इनलाइन दृश्य (एक्स) एनडीए और अनुमति तालिका में विलीन हो जाती है और प्रत्येक पंक्ति के स्रोत को इंगित करता है टाइप कॉलम के माध्यम से इनलाइन दृश्य उपयोगकर्ता की मेज पर उपयोगकर्ता की मेज पर वापस जुड़ा हुआ है। तब आप सशर्त रूप से कुल मिल सकते हैं जो कि एनडीए_सैनल और देखें_पर्म 1/0।
Comments
Post a Comment