Forum Discussion

TANVIP's avatar
TANVIP
Regular Visitor
3 years ago
Solved

NEED HELP IN SQL

Hi

I am having two tables contact and contact category as mentioned below now 

 contact category

Contact categoryidtype
1phone
2mobile

contact

IDValueContact CategoryId
197867445453                              1
114343556677                              2
29783673526                              1
3                               1
31465276127                              2
418397387309                              2
50281938978                              2

 i want to get result entry of type phone when 'phone' is not available then 'mobile' should display 
as shown below 

IDValue
197867445453
29783673526
31465276127
418397387309
50281938978

please help me how to write sql quey to get this result 

thank you.

  • Anonymous's avatar
    Anonymous
    3 years ago

    Hi TANVIP ,

     

    Here is the SQL query to get the desired result:

    SELECT ID, Value
    FROM contact
    WHERE ContactCategoryId = (SELECT ContactCategoryId FROM contactcategory WHERE type = 'phone')
    UNION
    SELECT ID, Value
    FROM contact
    WHERE ContactCategoryId = (SELECT ContactCategoryId FROM contactcategory WHERE type = 'mobile')

    This query will first select all the entries with ContactCategoryId of 'phone' and then all the entries with ContactCategoryId of 'mobile' if there are no entries with ContactCategoryId of 'phone'.

     

                                                                                                                                                             

    Best Regards,

    Stephen Tao

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.           

1 Reply

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi TANVIP ,

     

    Here is the SQL query to get the desired result:

    SELECT ID, Value
    FROM contact
    WHERE ContactCategoryId = (SELECT ContactCategoryId FROM contactcategory WHERE type = 'phone')
    UNION
    SELECT ID, Value
    FROM contact
    WHERE ContactCategoryId = (SELECT ContactCategoryId FROM contactcategory WHERE type = 'mobile')

    This query will first select all the entries with ContactCategoryId of 'phone' and then all the entries with ContactCategoryId of 'mobile' if there are no entries with ContactCategoryId of 'phone'.

     

                                                                                                                                                             

    Best Regards,

    Stephen Tao

     

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.