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, कारोबार-

ORGANIZATIONS में शामिल हैं: ORGANIZATION_ID, ORGANIZATION_NAME

मेरी आवश्यकता है, मुझे COMPANIES.COMPANY_NAME प्राप्त करना होगा अगर USERS OWNER_TYPE 20 है और मिलना चाहिए ORGANIZATIONS.ORGANIZATION_NAME यदि USERS.OWNER_TYPE 30

तो, मैं निम्न क्वेरी <इस्तेमाल किया / P>

  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)   

यहां समस्या मुझे OWNER_TYPE = 30 से दोहराए जाने वाले रिकॉर्ड मिलते हैं I

क्या आप इस प्रश्न के साथ मेरी मदद कर सकते हैं? कोशिश करें

  हमें चुनें। 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

Popular posts from this blog

c - Mpirun hangs when mpi send and recieve is put in a loop -

python - Apply coupon to a customer's subscription based on non-stripe related actions on the site -

java - Unable to get JDBC connection in Spring application to MySQL -