Using same column multiple times in WHERE clause

前端 未结 8 766
醉话见心
醉话见心 2020-12-15 10:19

I have a following table structure.

USERS

PROPERTY_VALUE

PROPERTY_NAME

USER_

8条回答
  •  眼角桃花
    2020-12-15 10:43

    you are using AND operator between two pn.id=1 and pn.id=2. then how you getting the answer is between that:

    (SELECT id FROM property_value WHERE value like '101') and
    (SELECT id FROM property_value WHERE value like '102') 
    

    So like above comments , Use or operator.

    Update 1:

    SELECT * FROM users u
    INNER JOIN user_property_map upm ON u.id = upm.user_id
    INNER JOIN property_value pv ON upm.property_value_id = pv.id
    INNER JOIN property_name pn ON pv.property_name_id = pn.id
    WHERE pn.id in (1,2) AND pv.id IN (SELECT id FROM property_value WHERE value like '101' or value like '102');
    

提交回复
热议问题