mysql - Depending on the value of a column in a table Get data from two different tables -
मैं तीन टेबल <कोड> उपयोगकर्ता शामिल हैं: USER_ID, USER_OWNER_ID, OWNER_TYPE, USER_NAME <कोड> कंपनियों शामिल हैं: COMPANY_ID, कारोबार- मेरी आवश्यकता है, मुझे तो, मैं निम्न क्वेरी <इस्तेमाल किया / P> यहां समस्या मुझे OWNER_TYPE = 30 से दोहराए जाने वाले रिकॉर्ड मिलते हैं I क्या आप इस प्रश्न के साथ मेरी मदद कर सकते हैं? कोशिश करें नमूना उत्पादन: यहां डेमो है उपयोगकर्ताओं ,
कंपनियों ,
संगठनों
ORGANIZATIONS में शामिल हैं: ORGANIZATION_ID, ORGANIZATION_NAME
COMPANIES.COMPANY_NAME प्राप्त करना होगा अगर
USERS OWNER_TYPE 20 है और
मिलना चाहिए ORGANIZATIONS.ORGANIZATION_NAME यदि
USERS.OWNER_TYPE 30
SELECT US.USER_NAME, US.USER_OWNER_ID, IF (US.OWNER_TYPE = 20, ORG.ORGANIZATION_NAME, CO.COMPANY_NAME) नाम से उपयोगकर्ता अमेरिका, कंपनी CO, संगठन ORG WHERE (US.OWNER_TYPE = 20 और US.USER_OWNER_ID = ORG.ORGANIZATION_ID) या (US.OWNER_TYPE = 30 और US.USER_OWNER_ID = CO.COMPANY_ID)
हमें चुनें। User_name, us.user_owner_id, COALESCE (co.company_name, org.organization_name) नाम से नाम से उपयोगकर्ताओं को हमें छोड़ दें जिन कंपनियों पर हम शामिल हैं। User_owner_id = co.company_id और हमें। owner_type = 30 वाम संगठनों पर संगठन us.user_owner_id = org.organization_id और शामिल होने के us.owner_type = 20
| USER_NAME | USER_OWNER_ID | NAME | | ----------- | --------------- | --------------- | | उपयोगकर्ता 1 | 1 | संगठन 1 | | User2 | 1 | कंपनी 1 |
Comments
Post a Comment